django模型创建导致IntegrityError 1062

时间:2017-06-24 13:57:57

标签: django django-models

我有一个简单的模型,当我使用objects.create时,我得到IntegrityError(1062,"重复条目' 96119'关键' PRIMARY'" ;)

我搜索了类似的问题,但是我的情况没有任何唯一字段,也没有尝试操作ID字段.. create命令很简单:

hyper::Error

我做错了什么?我可以轻松复制,因此它与数据库无关。

以下是模型:

TimelineQuestion.objects.create(alg_type=alg_str, alg_score=0, snippet=rep, child=self)

创建时的完整堆栈跟踪:

class TimelineQuestion(CommonInfo):
    alg_type = models.CharField(max_length=32)
    alg_data = models.TextField(blank=True, null=True)
    alg_score = models.FloatField()

    snippet = models.ForeignKey('Snippet')
    child = models.ForeignKey('Child')

    last_seen = models.DateTimeField(editable=True, blank=True, null=True)

1 个答案:

答案 0 :(得分:0)

我设法找到了它。

在我的中间件中,处理请求时我添加了'pre_save'信号,并在其中添加了instance.save(),这就是原因。

def process_request(self, request):
    ....
    mark_user_agent = curry(self.mark_user_agent, request.user_agent, request.user)
    signals.pre_save.connect(mark_user_agent, dispatch_uid=(self.__class__, request,), weak=False)

def mark_user_agent(self, user_agent, user, sender, instance, **kwargs):
    ...
    instance.save()