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??
CodePudding user response:
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)