我有一个看起来像这样的Django模型:
class MyModel(Model): field_1 = IntegerField() field_2 = IntegerField() field_3 = IntegerField() value = IntegerField() time_stamp = DateTimeField()
我想找到所有(field1, field2, field3)
元组组合的最新条目,并value
从该行中获取值.
例如,假设表格中包含以下行:
Field1, Field2, Field3, TimeStamp, Value 1 , 1 , 1 , 1/1/2015 , 1 1 , 1 , 1 , 1/2/2015 , 2 1 , 1 , 2 , 1/1/2015 , 3 2 , 2 , 2 , 1/1/2015 , 4
我希望我的查询结果返回2,3,4 行
我显然可以这样做:
dims = MyModel.objects.values('field1', 'field2', 'field3').distinct() for dim in dims: row = MyModel.objects.filter(**dim).latest('time_stamp') value = row.value
但这似乎是很多数据库命中,有一种方法可以用更少的触摸来做到这一点?