這是創建自定義模型驗證的唯一方法嗎?使用表單來做到這一點?如果我想通過表單以外的方式將數據發送到數據庫,該怎麼辦?僅通過表單API處理Django模型驗證?
8
A
回答
9
當前Django不提供任何模型級驗證(除了基本的「NOT NULL」,「UNIQUE」和長度驗證)。這是在TODO列表上,但很可能不適合即將發佈的1.1版本。
您可以在您的模型的save()
方法中執行驗證相關任務或使用before_save
信號(引發信號處理程序中的異常會導致事務回滾)。
1
通常,您應該能夠通過內置的field types及其選項或model's meta options來處理您想要的內容。您也可以override the save method執行驗證/衛生。如果這還不夠,您可以創建自己的field type。
問題是沒有良好的預期行爲。應該發生什麼?應該提出例外嗎?這些字段實際上只是數據庫級別的抽象,所以不應該有比數據庫需要知道更多的信息。
5
模型驗證將很快在Django 1.2版中提供。它現在可用現在如果你使用當前的Django svn結帳中繼線。
各種clean
方法現在可用。有關詳細信息,請參見http://docs.djangoproject.com/en/dev/ref/models/instances/#id1。
相關問題
- 1. Django:跳過模型驗證
- 2. Django表單驗證模型選擇
- 3. Django驗證模型表格
- 4. 在Django中處理模型表單
- 5. Django的模型pre_save驗證在管理
- 6. 新的express-validator語法:驗證表單通過多次處理器處理
- 7. 表單驗證通過Ajax
- 8. Django表單通過驗證,儘管表單錯誤
- 9. 處理Django模型
- 10. 通過網絡處理密碼驗證
- 11. Django,驗證表單
- 12. Django驗證組模型m2m
- 13. Django:模型驗證順序
- 14. Django模型驗證失敗
- 15. Django Formset管理表單驗證錯誤
- 16. Django的:驗證一個多到許多通過模型
- 17. 模板中的Django表單驗證
- 18. django - 處理窗口行結束時做max_length表單驗證
- 19. 如何在Django中進行表單驗證/處理?
- 20. 驗證通過視圖模型圖/樹
- 21. Django)通過外部模型檢索到的用戶模型'驗證'
- 22. PHP表單驗證與外部處理
- 23. 處理登錄表單驗證
- 24. 處理表單驗證錯誤5.4 + vueJS
- 25. PHP表單處理和驗證腳本
- 26. Django:表單處理錯誤。處理與另一個模型關聯的表格
- 27. django rest api通過單個休息api節省兩個django模型
- 28. django表單驗證:驗證初始值
- 29. Django - 處理「枚舉模型」
- 30. 使用django進行模型表單驗證