Python 访问Django中的queryset数据并对其执行操作

Python 访问Django中的queryset数据并对其执行操作,python,django,Python,Django,如果我得到一个像下面这样的queryset对象 review_object = Review.objects.filter(property_id=prop.values('id')).annotate(total=Sum('star_rating')) 如何访问此对象以执行进一步的操作?要扩展,我需要能够对每个属性id的“星级”字段求和。我尝试了以下方法: count_stars = 0 for ro in review_object: count_stars +=

如果我得到一个像下面这样的queryset对象

review_object = Review.objects.filter(property_id=prop.values('id')).annotate(total=Sum('star_rating'))
如何访问此对象以执行进一步的操作?要扩展,我需要能够对每个属性id的“星级”字段求和。我尝试了以下方法:

count_stars = 0
    for ro in review_object:
        count_stars += ro.star_rating
但这将显示所有属性的所有星星

我已经尝试了聚合函数,但它返回的字典对象在模板中呈现时不满足我的需要。如果需要,我可以提供更多信息


有什么建议吗?

如果要使用django ORM获得每个属性id的评级总和,需要指定
值()

另一个选项是使用以下公式“在python中”汇总每个属性的评级:


希望有帮助。

谢谢,我试试这个out@CiaranReen我已经更新了答案,包括使用django ORM的选项。
review_object = Review.objects.values('property_id').annotate(total=Sum('star_rating'))
from collections import defaultdict

review_object = Review.objects.all()
results = defaultdict(int)
for ro in review_object:
    results[ro.property_id] += ro.star_rating