模型示例
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
答案 0 :(得分:20)
您的问题似乎是您的get_or_create
中没有包含更多列,请参阅Django邮件列表中的this thread。
您需要使用defaults
中get_or_create
的{{1}}参数,或指定所有列的值,get_or_create
才能正确匹配。