如何像计数一样显示



型号.py

class Post(models.Model):
poster = models.ForeignKey(User, on_delete=models.CASCADE)
content = models.TextField(max_length=500)
timestamp = models.DateTimeField(default=timezone.now)
likes = models.ManyToManyField(User, blank=True, related_name='likes')

视图.py

def index(request):
posts = Post.objects.all()
return render(request, "network/index.html", {'posts': posts})

network/index.html

<h1>All Post</h1>
<ul>
{% for post in posts %}
<li>
<div>{{ post.content }}</div>
<div>{{post.likes}}</div>
</li>
{% endfor %}
</ul>

其结果如下输出index.html

如何为每个Post计算like?我知道通过运行

post = Post.objects.get(pk=<your_postid>).likes.all().count()

给出了所有类似的计数,但我如何才能循环它。

network/index.html

<h1>All Post</h1>
<ul>
{% for post in posts %}
<li>
<div>{{ post.content }}</div>
<div>{{post.likes.count}}</div>
</li>
{% endfor %}
</ul>

最新更新