Неправильное сохранение пост-метода формы Django Detail view Mixin

Комментарий на странице детализации блога не сохраняется корректно при использовании форм django, В чем проблема? Я также искал об этой проблеме, но не смог найти проблему. Файл Models.py

class BlogPost(models.Model):
    category = models.ForeignKey(Cateqory, related_name='category_id', on_delete=models.CASCADE)
    blog_image = models.ImageField('blog content backqround image', upload_to='img/')
    autor_avatar=models.ImageField('autor avatar', upload_to='img/')
    title = models.CharField('title',max_length=100,db_index=True)
    slug = models.SlugField(max_length=70,editable=False, db_index=True)
    content = models.TextField('content')
    autor_full_name = models.CharField('ful name',max_length=100)
    created_at =models.DateTimeField('createt_at',auto_now=True)

    def __str__(self):
       return self.title


    def get_absolute_url(self):
        return reverse_lazy('blog_detail', kwargs={
            'slug':self.slug
        })


class Comment(models.Model):
    blog = models.ForeignKey(BlogPost, related_name='blog_id', on_delete=models.CASCADE)
    user_fullname = models.CharField('full name',max_length=100)
    content = models.TextField('content')
    created_at =models.DateTimeField('created_at',uto_now=True)
    email = models.EmailField(max_length=70, default=None)


    def __str__(self):
        return (self.user_fullname)

ФайлViews.py

class PostDetailView(DetailView, CreateView):
    template_name = 'blog-detail.html'
    model = BlogPost
    form_class = CommentForm


    def get_success_url(self):
        return reverse("blog-detail", kwargs={"slug": self.object.slug})


    def get_context_data(self, *args, **kwargs):
        context = super(PostDetailView, self).get_context_data(*args, **kwargs)
        post = BlogPost.objects.get(slug=self.kwargs['slug'])
        comments = Comment.objects.filter(blog_id=post)
        
        context["blog"] = post
        context["comment"] = comments
        context['form'] = CommentForm()
        
        return context


    def post(self, request, *args, **kwargs):
        self.object = self.get_object()
        form = self.get_form()
        if form.is_valid():
            return self.form_valid(form)
        else:
            return self.form_invalid(form)


    def form_valid(self, form):
        return super().form_valid(form)


при использовании Formview перезапись метода form_valid таким образом работает как ожидалось, но я не знаю в чем проблема:

    def form_valid(self, form):
        new_comment = form.save(commit=False)
        new_comment.blog = self.get_object()
        new_comment.save()
       
        return super().form_valid(form)
    
Вернуться на верх