关系 "blog_comment" 的列 "comment_id" 中的空值违反了非空约束
null value in column "comment_id" of relation "blog_comment" violates not-null constraint
当尝试在我的 Django 博客中创建评论应用程序时,我得到了列出关系“blog_comment”的列“comment_id”中的空值违反非空约束”错误多于。对于页面视图,我使用了带有 FormMixin 的详细视图。我不确定为什么会收到此错误。感谢任何帮助。
完整的错误信息
IntegrityError at /post/7/
null value in column "comment_id" of relation "blog_comment" violates not-null constraint
DETAIL: Failing row contains (6, dafsdfa, sdfasdfasdf, sdfadfa, 2021-03-10 15:03:11.283567+00, null).
views.py
class DetailPostView(FormMixin, DetailView):
model = Post
template_name = "blog/post_detail.html"
context_object_name = "posts"
form_class = CommentForm
def form_valid(self, form):
form.save()
return super().form_valid(form)
def post(self, request, *args, **kwargs):
form = self.get_form()
self.object = self.get_object()
if form.is_valid():
return self.form_valid(form)
else:
return self.form_invalid(form)
def get_success_url(self):
return reverse("post-detail", kwargs={"pk": self.object.pk})
Models.py
class Comment(models.Model):
comment = models.ForeignKey(Post, on_delete=models.CASCADE)
title = models.CharField(max_length=200)
content = models.TextField()
author = models.CharField(max_length=50)
created_on = models.DateTimeField(auto_now_add=True)
Forms.py
class CommentForm(forms.ModelForm):
class Meta:
model = Comment
labels = {"author": "Author", "title": "Title", "content": "Comment"}
fields = ["author", "title", "content"]
查看评论。特伦特指出,我没有在 forms.py.
中引用要评论的 post
当尝试在我的 Django 博客中创建评论应用程序时,我得到了列出关系“blog_comment”的列“comment_id”中的空值违反非空约束”错误多于。对于页面视图,我使用了带有 FormMixin 的详细视图。我不确定为什么会收到此错误。感谢任何帮助。
完整的错误信息
IntegrityError at /post/7/
null value in column "comment_id" of relation "blog_comment" violates not-null constraint
DETAIL: Failing row contains (6, dafsdfa, sdfasdfasdf, sdfadfa, 2021-03-10 15:03:11.283567+00, null).
views.py
class DetailPostView(FormMixin, DetailView):
model = Post
template_name = "blog/post_detail.html"
context_object_name = "posts"
form_class = CommentForm
def form_valid(self, form):
form.save()
return super().form_valid(form)
def post(self, request, *args, **kwargs):
form = self.get_form()
self.object = self.get_object()
if form.is_valid():
return self.form_valid(form)
else:
return self.form_invalid(form)
def get_success_url(self):
return reverse("post-detail", kwargs={"pk": self.object.pk})
Models.py
class Comment(models.Model):
comment = models.ForeignKey(Post, on_delete=models.CASCADE)
title = models.CharField(max_length=200)
content = models.TextField()
author = models.CharField(max_length=50)
created_on = models.DateTimeField(auto_now_add=True)
Forms.py
class CommentForm(forms.ModelForm):
class Meta:
model = Comment
labels = {"author": "Author", "title": "Title", "content": "Comment"}
fields = ["author", "title", "content"]
查看评论。特伦特指出,我没有在 forms.py.
中引用要评论的 post