как я устанавливаю значение полевого элемента после того, как форма была отправлена, но привела проверку к сбою? например.
if form.is_valid():
form.save()
else:
form.data['my_field'] = 'some different data'
Я действительно не хочу помещать его в представление, хотя и имели бы его как часть класса формы.
Спасибо
В итоге я сделал
if request.method == 'POST':
new_data = request.POST.copy()
form = MyForm(data=new_data)
if form.is_valid():
form.save()
else:
new_data['myField'] = 'some different data'
Надеюсь, это кому-то поможет
Если у вас есть связанный экземпляр формы и вы хотите измените данные каким-либо образом, или если вы хотите привязать несвязанный экземпляр формы к некоторым данным, создайте другой экземпляр формы . Невозможно изменить данные в экземпляре формы. После создания экземпляра формы вы должны считать его неизменяемыми данными, независимо от того, есть в нем данные или нет.
Я не могу поверить, что ваш код работает. Но ладно. Исходя из документации, я бы сделал это так:
if request.method == 'POST':
data = request.POST.copy()
form = MyForm(data)
if form.is_valid():
form.save()
else:
data['myField'] = 'some different data'
form = MyForm(initial=data)