当前位置:  开发笔记 > 编程语言 > 正文

获取django中的多个维度的最新条目

如何解决《获取django中的多个维度的最新条目》经验,为你挑选了0个好方法。

我有一个看起来像这样的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

但这似乎是很多数据库命中,有一种方法可以用更少的触摸来做到这一点?

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有