Krzysztof K.

Krzysztof K. JEE Developer PayU
S.A.

Temat: Problem z podstawianiem danych do form

Hej,

mam problem przy wstawianiu danych do formy, ponieważ zalezy mi aby dane te umieszczać już po utworzeniu obiektu, przykład:

w tej formie nie działa:

form = _SurveyForm(survey)
if request.POST:
....
tutaj przygotowuje dane
.....
form.data = dane

a w tej działa:

form = _SurveyForm(survey, data = dane)

czy macie jakiś pomysł?
Piotr Maliński

Piotr Maliński Programista
Python/Django

Temat: Problem z podstawianiem danych do form

Jeszcze raz - rozumiem że chcesz edytować rekord w bazie używając formularza "z modelu". Kiedy chcesz zmieniać dane - przed zapisem po edycji, czy przed wyświetleniem formularza edycji?
Krzysztof K.

Krzysztof K. JEE Developer PayU
S.A.

Temat: Problem z podstawianiem danych do form

Piotr Maliński:
Jeszcze raz - rozumiem że chcesz edytować rekord w bazie używając formularza "z modelu". Kiedy chcesz zmieniać dane - przed zapisem po edycji, czy przed wyświetleniem formularza edycji?

Zmienna *dane* to nic innego jak request.POST po kilku zmianach. Z bazą to nie ma nic wspolnego. Poprostu zamiast umieszczać dane z requesta w konstruktorze formularza chce to zrobic pozniej. Mam nadzieje ze nie zamieszałe :)
Piotr Maliński

Piotr Maliński Programista
Python/Django

Temat: Problem z podstawianiem danych do form

Coś takiego?

data = request.POST.copy()
data['somekey'] = 'somevalue'
form = SurveyForm(data)
if form.is_valid():
data = form.cleaned_data
# wykorzystać dane
Krzysztof K.

Krzysztof K. JEE Developer PayU
S.A.

Temat: Problem z podstawianiem danych do form

Piotr Maliński:
Coś takiego?

data = request.POST.copy()
data['somekey'] = 'somevalue'
form = SurveyForm(data)
if form.is_valid():
data = form.cleaned_data
# wykorzystać dane

Dzięki. O to chodziło.

Czy data moze byc podana wyłącznie przy tworzeniu obiektu, jako parametr?
Łukasz Anwajler

Łukasz Anwajler Mobile & Web
Developer

Temat: Problem z podstawianiem danych do form

Nie tylko, można to zrobić też później, np:

umowa_form = UmowaForm()

...

umowa_form.fields['adres_zamieszkania'].queryset = Adres.objects.filter(wlasciciel_typ='klient')
Łukasz Anwajler edytował(a) ten post dnia 20.03.10 o godzinie 15:40



Wyślij zaproszenie do