1

In Django's own comment framework, django-contrib-comments, if I create my own comment model as below:

from django_comments.models import Comment

class MyCommentModel(Comment):

Q: How should I associate this new comment model (MyCommentModel) with existing Article model? using attribute content_type, object_pk or content_object ?

Brian Destura
  • 11,487
  • 3
  • 18
  • 34
Yan Tian
  • 377
  • 3
  • 11

1 Answers1

1

You can just use it directly like this:

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

But if you want to access the comments from Article, you can use GenericRelation:

from django.contrib.contenttypes.fields import GenericRelation


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

article = Article.objects.get(id=1)
article.comments.all()
Brian Destura
  • 11,487
  • 3
  • 18
  • 34