我想对模型 QFData 执行group by 和order_by 我正在尝试以下查询,但它不起作用。
查询 1:
data = QFData.objects.filter(Branch_Code__in=branchcode, FldNo__gte=201, FldNo__lte=216) \
.values('FldNo').aggregate(amt=Sum('Amount')) \
.order_by('FldNo')
但是,如果我想按 amt 订购,那么它可能会起作用。 查询 2:
data = QFData.objects.filter(Branch_Code__in=branchcode, FldNo__gte=201, FldNo__lte=216) \
.values('FldNo').aggregate(amt=Sum('Amount')) \
.order_by(amt)
请帮助解决这个问题。我想查询没有。 1 待工作
最佳答案
aggregate(...)
方法根据文档返回一个字典而不是一个查询集:
https://docs.djangoproject.com/en/1.8/ref/models/querysets/#django.db.models.query.QuerySet.aggregate
所以显而易见的解决方法是将 order_by
调用移到 aggregate
调用之前:
data = QFData.objects \
.filter(Branch_Code__in=branchcode, FldNo__gte=201, FldNo__lte=216) \
.values('FldNo') \
.order_by('FldNo') \
.aggregate(amt=Sum('Amount'))
关于django - 在 Django 中分组和排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31723009/