无法分配content_type”必须是“ ContentType”实例

问题描述

我正在尝试对我的博客实施评论系统,但是在尝试将content_type分配给与评论相关的初始数据时遇到错误。我的样本代码如下

python == 3.8 django == 3.1.1

#Comment app model
class Comment(models.Model):
    user            =   models.ForeignKey(User,on_delete=models.CASCADE)
    content_type    =   models.ForeignKey(ContentType,on_delete=models.CASCADE)
    object_id       =   models.PositiveIntegerField()
    content_object  =   GenericForeignKey()
    parent          =   models.ForeignKey("self",null=True,blank=True,on_delete=models.CASCADE)
    content         =   RichTextField()

#Blog app model
class Song(models.Model):
    ...
    ...
    @property
    def get_content_type(self):
        content_type = ContentType.objects.get_for_model(self.__class__)
        return content_type

#Blog Views
class SongDetail(ModelFormMixin,DetailView):
    model       =   Song
    form_class  =   CommentsForm

    def get_initial(self):
        obj = self.get_object()
        return { 'content_type': obj.get_content_type,'object_id': obj.object_id }

    def post(self,request,*args,**kwargs):
        if not request.user.is_authenticated:
            return redirect('music:obj.get_absolute_url()')
        
        form = self.get_form()
        if form.is_valid():
            return self.form_valid(form)
        else:
            return self.form_invalid(form)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)