'comments' 如何绑定到 django-comments 包中的 'article'?

How are 'comments' tied to 'article' in django-comments package?

在Django自带的评论框架中,django-contrib-comments,如果我自己创建评论模型如下:

from django_comments.models import Comment

class MyCommentModel(Comment):

问:我应该如何将这个新的评论模型 (MyCommentModel) 与现有的 Article 模型相关联?使用属性 content_typeobject_pkcontent_object ?

你可以像这样直接使用它:

article = Article.objects.get(id=1)
comment = MyCommentModel(content_object=article, comment='my comment')
comment.save()

但是如果你想访问来自 Article 的评论,你可以使用 GenericRelation:

from django.contrib.contenttypes.fields import GenericRelation


class Article(models.Model):
    ...
    comments = GenericRelation(MyCommentModel)

article = Article.objects.get(id=1)
article.comments.all()