IntegrityError NOT NULL constraint failed: даже если я уже переопределил form_valid?
Итак, я пытаюсь создать простую функцию комментариев для приложения блога. В представлениях на основе классов, если вы используете внешний ключ в вашей модели, я знаю, что вы должны переопределить def form_valid: для того, чтобы комментарий был опубликован текущим зарегистрированным пользователем. Если этого не сделать, вы получите IntegrityError
Я сделал это для модели Blog в моем приложении, и все работает как надо, однако, когда я пытаюсь сделать то же самое с CommentCreateView, я получаю ошибку.
Вот мой код на данный момент
views.py
class PostCreateView(LoginRequiredMixin, CreateView):
model = Post
fields = ['title', 'content']
def form_valid(self, form):
form.instance.author = self.request.user
return super().form_valid(form)
class CommentCreateView(LoginRequiredMixin, CreateView):
model = Comment
fields = ['title', 'content']
template_name = 'issues/add_comment.html'
def form_valid(self, form):
form.instance.name = self.request.user
return super().form_valid(form)
models.py
class Comment(models.Model):
post = models.ForeignKey(Post,
on_delete=models.CASCADE,
related_name='comments')
name = models.ForeignKey(User, on_delete=models.CASCADE)
title = models.CharField(max_length=100, null=True)
content = models.TextField()
date = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('issue-detail', kwargs={'pk': self.pk})
class Issue(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
date_posted = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User, on_delete=models.CASCADE)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('issue-detail', kwargs={'pk': self.pk})
Что я сделал не так?