Django过滤器按其他列查找最小的组数

时间:2018-08-17 23:16:00

标签: python django

我的数据库结构如下:

id     listing     sequence    result

1       1          0           hfdn
2       1          1           hkoq
3       1          2           qaz
4       2          1           bnm
5       3          1           h456
6       3          2           vnm
7       4          0           45hv
8       4          1           1lc0

我想获取序列最小的每个列表组,示例结果如下:

{listing:1, sequence:0}, {listing:2, sequence:1}, {listing:3, sequence:1}, {listing:4, sequence:0}

及其匹配结果。

PS:某些序列从0开始,某些序列从1开始,甚至更多。

1 个答案:

答案 0 :(得分:2)

您需要group_by listing并获得最小的sequence值。如果您的模型名称是MyModel,那么应该可以正常工作:

MyModel.objects.values('listing').annotate(min_sequence=Min('sequence'))