Python Django类sql数据拉取

Python Django类sql数据拉取,python,django,sqlite,Python,Django,Sqlite,我有课: class Like(models.Model): user = models.ForeignKey(User, related_name='likes', on_delete=models.CASCADE) post = models.ForeignKey(Post, related_name='likes', on_delete=models.CASCADE) ratingtype = models.IntegerField(default=0) 这使我可

我有课:

class Like(models.Model):
    user = models.ForeignKey(User, related_name='likes', on_delete=models.CASCADE)
    post = models.ForeignKey(Post, related_name='likes', on_delete=models.CASCADE)
    ratingtype = models.IntegerField(default=0)
这使我可以使用此标记显示数据库表中的行总数:

{{post.likes.count}}

修改该类的最佳方法是什么,这样我就可以通过两个ratingtype(1或0)来区分计数。

不要在模板中进行查询。模板用于呈现逻辑,而不是业务逻辑

您可以为正在获取的
Post
对象添加注释:

from django.db.models import Count, Q

Post.objects.annotate(
    likes0=Count('likes', filter=Q(ratingtype=0)),
    likes1=Count('likes', filter=Q(ratingtype=1))
)

我认为最好是有一个布尔值,默认情况下它是false,当它变为正值时进行计数
{{ post.likes0 }}
{{ post.likes1 }}