Django:get_or_create使用together_unique引发重复条目

时间:2011-08-07 17:29:14

标签: python django django-models

模型示例

class Example(Stat):
    numeric = models.IntegerField(...) 
    date = models.DateField( auto_now_add=True,...) #auto_now_add=True was the problem

    class Meta:
       unique_together = ('numeric','date')

如果已存储72和'2011-08-07'

Example.object.get_or_create(numeric=72,date='2011-08-07')

加注

django.db.utils.IntegrityError: (1062, "Duplicate entry '72-2011-08-07'

问题是为什么get_or_create提出IntegrityError,这就是使用的想法 get_or_create

不确定这是不是一个错误,我开了一张票https://code.djangoproject.com/ticket/16587

1 个答案:

答案 0 :(得分:20)

您的问题似乎是您的get_or_create中没有包含更多列,请参阅Django邮件列表中的this thread

您需要使用defaultsget_or_create的{​​{1}}参数,或指定所有列的值,get_or_create才能正确匹配。