'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_type
、object_pk
或 content_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()
在Django自带的评论框架中,django-contrib-comments,如果我自己创建评论模型如下:
from django_comments.models import Comment
class MyCommentModel(Comment):
问:我应该如何将这个新的评论模型 (MyCommentModel
) 与现有的 Article
模型相关联?使用属性 content_type
、object_pk
或 content_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()