У меня есть форма:Изменение значения поля формы перед сохранением
class ReferencesForm(forms.ModelForm):
error_css_class = 'error' #set some css when an error
contactName = forms.CharField(label='Contact Name:')
company = forms.CharField(label='Company:')
address = forms.CharField(label='Address:')
telephoneNumber = forms.CharField(label='Telephone Number:')
class Meta:
fields = '__all__'
model = References
def __init__(self, *arg, **kwarg):
super(ReferencesForm, self).__init__(*arg, **kwarg)
self.empty_permitted = True
def clean(self):
""" Custom validation for fields
"""
cleaned_data = super(ReferencesForm, self).clean()
return self.cleaned_data
И строить его в моих взглядах файл следующим образом:
ReferencesInlineFormSet = inlineformset_factory(
Applicant, References, form=ReferencesForm, extra=1, can_delete=False)
...
if request.method == 'POST':
references_formset = ReferencesInlineFormSet(
request.POST, instance=applicant)
if (references_formset.is_valid()):
references_formset.instance['address'] = "test";
references_formset.save();
Я не думаю, что модель заявитель имеет важное значение здесь но при необходимости я могу добавить его позже.
Я хочу объединить некоторые поля адресов (addr1, addr2, town и т. Д.) В одно поле базы данных под названием «адрес» и думал об этом в файле представлений.
Я попытался простое задание с «тестом» здесь и я получил ошибку:
'Applicant' object does not support item assignment
references_formset.instance['address'] = "test";