在django我有以下表格,我试图按项目计算投票数。
class Votes(models.Model):
user = models.ForeignKey(User)
item = models.ForeignKey(Item)
class Item(models.Model):
name = models.CharField()
description = models.TextField()
我有以下查询集
queryset = Votes.objects.values('item__name').annotate(Count('item'))
返回包含项目名称和视图计数的列表,但不返回项目对象。如何设置它以便返回对象而不仅仅是字符串值?我一直在搞乱Manager和Queryset方法,那是正确的方法吗?任何建议将不胜感激。
答案 0 :(得分:2)
你可以试试这个:
queryset = Votes.values.annotate(t_count=Count('item'))
获取第一个投票对象的计数值:
queryset[0].t_count
或获取Item对象:
Item.objects.annotate(i_count=Count('votes'))