模型示例

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'

the question is why get_or_create 加薪 the IntegrityError, thats the idea of using get_or_create.

不确定这是不是个漏洞,我开了张https://code.djangoproject.com/ticket/16587元的票

推荐答案

似乎你的问题在于get_or_create中没有包含更多的栏目,参见Django邮件列表中的this thread.

您需要使用defaults参数get_or_create(如docs中所述),或者为所有列指定值,才能使get_or_create正确匹配.

Django相关问答推荐

Django Signals:从实例访问ManyToManyRel值

仅更新模型中的特定字段.Model Django

Django相关对象引用模板

如何在Django中将可选参数传递给视图?

模仿没有像预期的那样工作(Django)

当前路径 **/POST 与其中任何一个都不匹配

如何在 Django REST Framework API 响应中使用多标签过滤器?

如何在 Django 中创建一个独特的 slug

Django REST Framework ModelSerializer get_or_create 功能

Django Blob 模型字段

从python中的URL获取查询字符串的最佳方法?

Django删除查询集的最后五个以外的所有内容

Django 1.9 中 django.db.models.loading.get_model() 的类似功能是什么?

django 有条件地过滤对象

Django:显示在每个页面上加载页面所花费的时间

Django ALLOWED_HOSTS IP 范围

javascript 文件中的 Django {% static 'path' %}

如何在 Django 中使用动态外键?

django - 使用 get_or_create 自动创建用户时设置用户权限

Django admin:使字段在添加中可编辑但不可编辑