【发布时间】:2019-09-22 13:43:32
【问题描述】:
我在创建应用程序时遇到了这个问题。 因此,每当我添加第一条评论时,问题都不会出现,但是当我第二次尝试这样做时,我会收到此错误:
重复键值违反唯一约束 “tripplanner_discussion_author_id_key”详细信息:密钥(author_id)=(1) 已经存在了。
我尝试将unique=False 放入models.py,但它根本没有帮助。
models.py
class Discussion(models.Model):
author = models.OneToOneField(User, on_delete=models.CASCADE, unique=False)
group = models.ForeignKey(Trip, on_delete=models.CASCADE, unique=False)
text = models.TextField()
created_date = models.DateTimeField(default=timezone.now)
views.py
class DiscussionView(LoginRequiredMixin, CreateView):
model = Discussion
template_name = 'tripplanner/discussion.html'
fields = ['text']
success_url = '/'
def form_valid(self, form):
form.instance.author = self.request.user
form.instance.group = self.trip
return super(DiscussionView, self).form_valid(form)
更新
当我登录到另一个用户时,一个帖子的问题消失了,然后又再次出现。所以要解决的问题就是让这个author_id唯一。
【问题讨论】:
标签: django database django-models