I try to build blog by using posts and MPTT comments, this will be in the home view www.mysite.com
that's mean I cann't pass pk to the url so I tried to get the post objects using for loop
comma = Post.objects.all()
comm = []
for post in comma:
comment = PostCommentIDF.objects.filter(post=post)
comm.append({"comme": comment}
context = {'comment': comm,}
return render(request, 'personal/home.html', context)
And my Mptt comment model
class PostCommentIDF(MPTTModel):
post = models.ForeignKey(Post, on_delete=models.CASCADE, related_name='pos_com')
parent = TreeForeignKey('self', on_delete=models.CASCADE, null=True, blank=True, related_name='post_children')
author = models.ForeignKey(Account, on_delete=models.CASCADE)
content = models.TextField()
created_date = models.DateTimeField(auto_now_add=True)
status = models.BooleanField(default=True)
likes = models.ManyToManyField(Account, blank=True, related_name='pos_com')
My Post Model
class Post(models.Model):
author = models.ForeignKey(Account, on_delete=models.CASCADE)
article = models.TextField(null=True, blank=True)
photo_article = models.ImageField(max_length=255, upload_to=get_poster_filepath)
My mptt coments in the template
{% recursetree comment %}
<div id="{{ node.id }}" class="my-2 p-2" style="border: 0px solid grey">
<div class="d-flex justify-content-between">
{{ node.publish|naturaltime }}
<div class="node-content mt-3">{{ node.content }}</div>
</div>
</div>
{% endrecursetree %}