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")
Вернуться на верх