我在Django 1.11.3上。
我尝试创建一个对象:
obj = cls.objects.create(type=type, token=token, value=value)
...失败了:
IntegrityError: UNIQUE constraint failed: intel_property.type, intel_property.token
我有一个像这样的唯一索引:
unique_together = (
('type', 'token'),
)
足够公平。让我们看看它与之发生了什么冲突:
>> cls.objects.filter(type=type, token=token)
<QuerySet []>
很奇怪 - 没有这些值的现有记录。
我将令牌字段标准化为全部大写,令牌的值类似于大写,因此这不是一个不区分大小写的问题。作为故障排除的一部分,我强制上升所有令牌值。
我也试过单独使用令牌进行搜索,但仍会产生空的Querysets。
如果重要,此查询将深深嵌套在一系列事务中。
关于这里发生了什么的任何想法?