Как "комментарии" привязаны к "статье" в пакете django-comments?

В собственном фреймворке комментариев 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()
Вернуться на верх