1
我有一个模型,它看起来像这样:聚集和额外的价值和Django
class MyModel(models.Model)
value = models.DecimalField()
date = models.DatetimeField()
我在做这个请求:
MyModel.objects.aggregate(Min("value"))
,我得到预期的结果:
{"mymodel__min": the_actual_minimum_value}
但是,我不能找出一种方法来同时获得最小值和相关的日期(mi发生最小值)。
Django ORM是否允许这样做,还是我必须使用原始SQL?
纠正我,如果我错了,但: 与注释,该查询集将返回我所有的模型实例,每个实例的“mymodel__min”属性。 它不会告诉我在哪一天发生的最小值(除非手动比较,对于每个返回的价格,将值设置为最小值并选择匹配的日期)。 – Jeremy 2010-07-05 20:13:36
你是对的。对不起,我没有意识到这也是你问题的一部分。我调整了我的问题,所以你可以按日期分组,这似乎是你想要的,是的? – Bartek 2010-07-05 20:18:35
使用'annotate'将返回所有MyModel实例。我只对其值为最小值的实例感兴趣,并获得它的日期。 随着你的新请求,我得到一个列表,每个列表都有不同的日期和不同的最小值(实际上对应于每个模型实例中的值和日期)。 – Jeremy 2010-07-05 20:37:45