我有一个简单的模型,当我使用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)
答案 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()