Как изменить начальное значение поля, если 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 (она не делает никаких изменений). Как мне это сделать?

Вернуться на верх