Mam ModelForm z kilkoma polami. Niektóre pola są wymagane, inne nie. Mam również pole wyboru z różnymi opcjami i chcę, aby niektóre pola były "wymagane" lub nie oparte na tym wyborze pola wyboru.Django modelform usuwa atrybut "wymagany" na podstawie innego pola wyboru
Próbowałem w czystym() metoda Formularza
def clean(self):
cleaned_data = self.cleaned_data
some_field = cleaned_data.get("some_field")
if some_field == 'some_value':
self.fields['other_field'].required = False
return cleaned_data
ale to nie działa
Dzięki. Pomysł ten pomógł mi go zdobyć! – Igor
Muszę wykonać podobną walidację (Django 1.4), ale testowane pole jest tylko do odczytu, więc nie mam go w my cleaned_data (btw - robię to w administratorze). Masz pomysł, jak uzyskać wartość tego pola tylko do odczytu? 10x – Lin
Znaleziono rozwiązanie - form.instance zawiera wszystkie istotne dane, a zmodyfikowane dane są zawarte w formularzu.changed_data – Lin