Как изменить начальное значение поля, если clean_{FOO} недействительно?
У меня есть ModelForm с чистой функцией для поля.
Я хочу изменить начальное значение для поля на основе некоторой условной логики в поле:
class MyForm(forms.ModelForm):
text_field_1 = forms.CharField()
def clean_text_field_1(self):
data = self.cleaned_data['text_field_1']
if data == 'Hello':
self.initial['text_field_1'] = 'Goodbye'
return ValidationError('Don't say Hello',
code='invalid_input')
return data
Однако я не могу получить доступ к свойству self.fields
формы из функции clean
(она не делает никаких изменений). Как мне это сделать?