我有下表:
id | product_id | quantity
--------------------------
1 | 222 | 25
2 | 222 | 35
3 | 223 | 10
现在我想选择按product_id分组的最低数量。在SQL中,这可以作为
SELECT product_id, MIN(quantity) FROM my_table GROUP BY product_id
此查询的结果如下
product_id | MIN(quantity)
--------------------------
222 | 25
223 | 10
但是,我如何使用Django的数据库模型来做同样的事情?
我试过
myModel.objects.filter(product__in=product_ids).annotate(Min("quantity")).values_list("product", "quantity__min")
这将返回完整的表格。
答案 0 :(得分:1)
objects = (MyModel.objects
.values('product')
.annotate(Min('quantity'))
# if you want to get values_list
.values_list('product', 'quantity__min'))
https://docs.djangoproject.com/en/1.8/topics/db/aggregation/#values