【发布时间】:2017-10-20 21:34:05
【问题描述】:
我正在尝试使用 annotate 在 Django 中查询一个查询集,以获取每个不同“field2”的计算。查询如下:
offer_lines.filter('field1'=x).order_by().values('field2').annotate(
total=F('field3') * F('field4')
虽然我希望它返回如下所示的内容:
[{'field2_value1': '1'}, {'field2_value2': '2'}]
我获得了相同 field2 值的多个条目。所以看起来更像这样:
[{'field2_value1': '1'}, {'field2_value1': '2'}, {'field2_value1': '5'},{'field2_value2': '2'}, {'field2_value2': ' 1'}]
我在查询中有 order_by() ,正如我在其他问题中看到的那样,它有时很重要,但这对我没有帮助。我如何查询它以只为每个唯一的 field2 值返回一个条目?
【问题讨论】:
-
提供您正在使用的完整模型类和完整查询。非常清楚地解释你想要什么输出。
标签: python django django-queryset django-annotate