这是创建自定义模型验证的唯一方法吗?使用表单来做到这一点?如果我想通过表单以外的方式将数据发送到数据库,该怎么办?仅通过表单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. 通过批处理在Enterprise Architect中处理模型验证
- 2. Django:跳过模型验证
- 3. Django表单验证模型选择
- 4. Django验证模型表格
- 5. 在Django中处理模型表单
- 6. 表单模型绕过验证
- 7. Django的模型pre_save验证在管理
- 8. 新的express-validator语法:验证表单通过多次处理器处理
- 9. 表单验证通过Ajax
- 10. 表单验证通过Jquery
- 11. 处理Django模型
- 12. Django表单通过验证,尽管表单错误
- 13. JPA模型验证和事务处理
- 14. Braintree - Android SDK:通过仅通过CVV处理付款的现有卡验证
- 15. 通过网络处理密码验证
- 16. Django,验证表单
- 17. Django - 表单验证
- 18. Django验证组模型m2m
- 19. Django模型验证失败
- 20. Django:模型验证顺序
- 21. Django Formset管理表单验证错误
- 22. Django的:验证一个多到许多通过模型
- 23. 在Django模型上设置通过身份验证的用户
- 24. 是否可以通过提供凭证而不处理表单来验证HtmlUnit?
- 25. 表单处理 - 通过api传递的所有表单变量
- 26. 通过ajax验证django formset
- 27. 模板中的Django表单验证
- 28. django - 处理窗口行结束时做max_length表单验证
- 29. 如何在Django中进行表单验证/处理?
- 30. Rails嵌套模型未通过验证