Django 1.7中的外键完整性错误

时间:2015-01-22 19:04:24

标签: python django

我有一个用户可以查看服务的项目。每当我尝试两次向同一用户撰写评论时,我都会收到完整性错误:

duplicate key value violates unique constraint "reviews_review_user_id_key" DETAIL: Key (user_id)=(7) already exists.

我不太清楚为什么会收到此错误。是因为用户和评论之间应该有多对多的关系吗?

审核模型如下所示:

class Review(models.Model):
    user = models.ForeignKey(User)
    service = models.ForeignKey('services.Service')
    rating_value = models.IntegerField(default = 0)
    review_text = models.CharField(max_length = 500, default= "null")
    pub_date = models.DateTimeField(default=timezone.now,blank=True)
    def __str__(self):              # __unicode__ on Python 2
        return self.service_name

1 个答案:

答案 0 :(得分:0)

您似乎已删除models.py中的唯一约束,但唯一约束仍存在于数据库表中。这在我之前发生过,我能够通过./manage.py dbshel​​l从表中删除约束,一切都按预期工作。

不确定您正在使用哪个数据库,但对于postgres,它将是:ALTER TABLE your_table DROP CONSTRAINT reviews_review_user_id_key;

给它一个机会,希望它有所帮助。