2012-11-14 34 views
2

我想在不使用ModelForms的情況下對django模型進行字段驗證。 有沒有辦法可以調用save()時調用clean_fieldname方法?未使用模型的django模型驗證

+0

你可以聲明任何自定義表單並自己寫一個乾淨的方法。然後,您可以覆蓋Form save()方法並將其保存,刪除或執行任何您想要的操作。 – PepperoniPizza

回答

0

clean_fieldname方法屬於窗體或模型窗體。模型中沒有代碼可以做同樣的事情,你必須自己實現它。

我建議您爲您的字段編寫一個validator,然後在保存之前調用full_clean()以驗證您的實例。

+0

感謝致電full_clean()將完成這項工作。是否有一個更清潔的方式像驗證器寫入數據操縱器讓它自動調用save()以及full_clean()? – user504879

+0

我已經[回答](http://stackoverflow.com/questions/12945339/is-this-the-way-to-validate-django-model-fields/12945692#12945692)[similar](http:// stackoverflow.com/questions/8771029/django-raise-a-validation-error-in-a-models-save-method)[questions](http://stackoverflow.com/questions/12608639/django-field-validation- in-model-in-in-admin)在堆棧溢出之前,希望他們會幫助進一步解釋。 – Alasdair