I am having a models.py as follows
class Comment(models.Model): auther_name = models.CharField(max_length=20, null=False, blank=False) comment_body = models.TextField(max_length=200, null=False, blank=False) class Post(models.Model): comments = models.ManyToManyField(Comment)
So let’s say i have a comment Object Instance which’s id is 2 and raw content
How to get parent post_id which contains this comment??
Advertisement
Answer
Use related_name
. Small change adding: related_name='posts'
: think of it like “if we start from the opposite side, what would be the name to use” (it’s always plural).
class Comment(models.Model): author_name = models.CharField(max_length=20, null=False, blank=False) comment_body = models.TextField(max_length=200, null=False, blank=False) class Post(models.Model): comments = models.ManyToManyField(Comment, related_name='posts')
Now you can do:
for post in Comment.objects.get(pk=12).posts.all(): print(post.xxx)