【问题标题】:Django unique_together error and validationDjango unique_together 错误和验证
【发布时间】:2010-05-30 18:45:27
【问题描述】:
class Votes(models.Model):  
    field1 = models.ForeignKey(Blah1)  
    field2 = models.ForeignKey(Blah2)  
    class Meta:  
            unique_together = (("field1","field2"),)

我将此代码用作我的模型之一。现在我想知道两件事:
1.它没有显示任何错误,它保存了一个不唯一的条目;那么这段代码正确吗?
2.如何验证unique_together约束?

【问题讨论】:

    标签: django django-models django-forms


    【解决方案1】:

    在我看来还可以。您是否尝试过unique_together = ("field1","field2") 的更简单语法以防万一出现细微的错误?

    无论哪种方式,正如here 所说,“它在 Django 管理员中使用并在数据库级别强制执行(即,适当的 UNIQUE 语句包含在 CREATE TABLE 语句中)。”

    您是否更新了您的架构(使用迁移、删除和新鲜的同步数据库或手动 SQL)以添加适当的约束?

    【讨论】:

    • 我后来添加了这个约束,而不是在创建表的过程中。所以我不得不再次创建数据库并且它起作用了。谢谢。但是有什么方法可以在以后进行这种约束添加并且事情起作用吗?另外如何处理错误?
    • 听起来约束是由管理员优雅地强制执行的,所以在 django.contrib.admin 中四处逛逛可能会有所帮助。将来,如果您必须添加 unique_together 约束,像 South (south.aeracode.org) 这样的迁移应用程序应该能够帮助您。
    猜你喜欢
    • 2012-08-13
    • 2011-01-09
    • 2016-12-20
    • 2010-12-27
    • 2017-04-26
    • 2014-05-02
    • 2013-07-27
    相关资源
    最近更新 更多