我有一个用户可以查看服务的项目。每当我尝试两次向同一用户撰写评论时,我都会收到完整性错误:
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
答案 0 :(得分:0)
您似乎已删除models.py中的唯一约束,但唯一约束仍存在于数据库表中。这在我之前发生过,我能够通过./manage.py dbshell从表中删除约束,一切都按预期工作。
不确定您正在使用哪个数据库,但对于postgres,它将是:ALTER TABLE your_table DROP CONSTRAINT reviews_review_user_id_key;
给它一个机会,希望它有所帮助。