我需要在Django模型表單中覆蓋clean()
方法,以對輸入的數據執行額外的唯一性檢查。當在Django模型中覆蓋clean()方法時返回cleared_data
本頁面給出了實施細則: https://docs.djangoproject.com/en/1.11/ref/forms/validation/複製在這裏:
def clean(self):
cleaned_data = super(ContactForm, self).clean()
cc_myself = cleaned_data.get("cc_myself")
subject = cleaned_data.get("subject")
if cc_myself and subject:
# Only do something if both fields are valid so far.
if "help" not in subject:
raise forms.ValidationError(
"Did not send for 'help' in the subject despite "
"CC'ing yourself."
)
但是我很困惑,爲什麼這個方法在函數結束時沒有return cleaned_data
?當然,這是正確的做法?
你的意思是「將此視爲窗體的」乾淨「方法」?你指的是什麼「這個」? – Rob
我認爲我的問題可能是最好的答案,如果我明白了什麼其他函數使用返回的「clean_data」一旦clean()被調用?或者說,什麼是「cleared_data」? – Rob
對不起,我指的是你的例子中的'clean'方法。當我說這個表格的「乾淨」方法時,它僅用於教育目的。我只想強調一下這樣一個事實,即表單是一個字段的集合,因此每個表單都有一個清晰的方法。 請按照此鏈接(https://docs.djangoproject.com/en/1.11/ref/forms/validation/#cleaning-and-validating-fields-that-depend-on-each-other)閱讀第一個段。 – scharette