我創建了自定義clean()
方法的模型表單。但是這個clean()
方法不再適用了,因爲我無法在QueryDict
中找到數據,所以我創建了一個不適用於該模型的formset。那麼現在該怎麼做才能使它工作(在formset QueryDict中查找與該表單相關的數據)?Django Formsets:會員形式乾淨的方法不工作?
這是會員形式:
class option_form(ModelForm):
class Meta:
model = option
exclude = ('warval','user')
def clean_value(self):
self.data = self.data.copy()
print(self.data)
if self.data['value']=='[email protected]':
raise forms.ValidationError("This can't be your email address")
return self.data['value']
這是錯誤:
Exception Type: MultiValueDictKeyError
Exception Value: "Key 'value' not found in <QueryDict: {u'form-1-value': [u''], u'form-INITIAL_FORMS': [u'1'], u'form-TOTAL_FORMS': [u'2'], u'form-MAX_NUM_FORMS': [u''], u'form-0-id': [u'1'], u'form-1-id': [u''], u'csrfmiddlewaretoken': [u'e645de635fe47559ac540eb32ea4d08d'], u'form-0-value': [u'[email protected]']}>"
一些示例代碼可以幫助隔離問題。 – danihp 2012-07-24 12:01:25
在訪問清潔屬性之前,你是否調用超級清潔方法?類似_super(MyModelForm,self).clean()_ – Rohan 2012-07-24 12:04:27
不,我沒有調用任何超級乾淨的方法。 – 2012-07-24 12:10:28