Django与其他字段汇总最小值/最大值

时间:2015-07-07 14:37:48

标签: django aggregate-functions

我更聪明,我可以转换这个sql:

SELECT MIN(price) min_price, * FROM table GROUP BY YEAR(date), MONTH(date);

使用Django ORM? 我每月需要一个物品,价格最低。所以我尝试使用aggregate():

Model.objects.filter(*filtering*).aggregate(Min('price'))

但它失去了其他领域,只显示'价格' 试过,发布我需要的字段:

Model.objects.values(*some fields*).filter(*filtering*).aggregate(Min('price'))

但在此之后我没有得到任何领域!甚至价格。 所以我需要一个具有最低价格和其他领域的对象

1 个答案:

答案 0 :(得分:-1)

您是否尝试过使用.order_by()?

例如:

YourModel.objects.all().order_by(min_price)[:1]

如果您想获取模型字段的值,可以使用此类{{ YourModel.yourModelField }}

之类的模板标记来访问它们

如果你想在模板之外访问它们,你必须这样做

mymodel = YourModel.objects.all().order_by(min_price)[:1]
print(mymodel.yourModelField)

print()是一个例子