这是创建自定义模型验证的唯一方法吗?要使用表格吗?如果我想通过表单以外的方式将数据发送到数据库怎么办?

有帮助吗?

解决方案

目前,Django不提供任何模型级验证(除了基本的“NOT NULL”,“UNIQUE”和长度验证)。这是在TODO列表中,但很可能不适合即将发布的1.1版本。

您可以在模型的 save()方法中执行与验证相关的任务,或使用 before_save 信号(在信号处理程序中引发异常将导致事务回滚)

其他提示

模型验证将很快在Django 1.2版中提供。如果你使用当前的主干Django svn结账,它现在可以

现在可以使用各种 clean 方法。请参阅 http://docs.djangoproject.com/en/dev/ref / models / instances /#id1 了解详情。

一般来说,你应该能够通过内置的字段类型及其选项或模型的元选项。您也可以覆盖保存方法执行验证/卫生。如果这还不够,您可以创建自己的字段类型

问题在于没有良好的预期行为。应该怎么办?应该提出例外吗?这些字段实际上只是数据库级别的抽象,所以不应该有更多的信息,而不是数据库需要知道的信息。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top