IntegrityError - Exception Value: null значение в столбце "username_id" отношения "post_comment" нарушает ограничение not-null
Я создаю раздел комментариев для приложения post и столкнулся с этой ошибкой, которую не могу решить. Она возникает, когда я отправляю comment.body с формой, загруженной в представлении. Если возможно, я бы хотел, чтобы аутентифицированному пользователю присваивалось имя пользователя модели комментария, а также дата_добавления.
models.py
class Comment(models.Model):
post = models.ForeignKey(Post, related_name="comments", on_delete=models.CASCADE)
username = models.ForeignKey(User, on_delete=models.CASCADE)
body = models.TextField()
date_added = models.DateTimeField(auto_now_add=True)
def __str__(self) -> str:
return f"{self.post.title} - {self.username}"
def get_absolute_url(self):
return reverse("new-comment", kwargs={"slug": self.post.slug})
forms.py
class NewCommentForm(forms.ModelForm):
class Meta:
model = Comment
fields = [
"body"
]
views.py
def add_comment(request,slug):
if request.method == "POST":
form = NewCommentForm(request.POST, request.FILES)
if form.is_valid():
form.instance.post_slug = {'slug': slug}
form.save()
messages.success(request, "Your comment was added successfully.")
return redirect("food-feed")
messages.info(
request,
"There was an problem trying to add your comment.",
)
form = NewCommentForm()
return render(request, "post/new_comment.html", {"new_comment_form": form})
views.py
path("post/<slug:slug>/new-comment", views.add_comment, name="new-comment")