2
你如何改變一個Django的每個表單字段使用clean
方法FORMSET FORMSET?阿爾特領域使用清潔
class MyInlineFormSet(BaseInlineFormSet):
def clean(self):
if self.cleaned_data['inputted'] == self.cleaned_data['answer']:
self.cleaned_data['is_correct'] = True
return self.cleaned_data
這不工作,我見過人們遍歷每個表單,但他們只驗證,而不是改變。如果我遍歷每個表格,我如何返回cleaned_data
?換句話說:
class MyInlineFormSet(BaseInlineFormSet):
def clean(self):
for form in self.forms:
if form.cleaned_data['inputted'] == form.cleaned_data['answer']:
form.cleaned_data['is_correct'] = True
...?
大衛,謝謝。你的回答是正確的self.cleaned_data 但仍然沒有改變領域。問題是,清潔數據只是一個訪問者而不是修飾符。我需要什麼,而不是: 「form.instance.is_correct = TRUE」 form.instance實際修改的文檔說明過的領域[https://docs.djangoproject.com/en/dev/topics/forms/modelforms/# overriding-clean-on-a-modelformset] – ssomnoremac
添加到我的答案。我很高興你明白了,我認爲這是一個有用的問題,因爲內聯表單需要與普通表單處理有所不同。如果我沒有說出你想要的,請隨意提交你自己的答案。 – DavidM