如何从类似记录中获取最后日期? | Django的

时间:2018-06-20 18:48:50

标签: python sql django database oracle

我有下一个模特。同样在下面,您可以看到带有数据的表格。例如,您有2条关闭记录。仅change_date列中的区别。我只需要最后一次约会。如何使用Django ORM做到这一点?

models.py:

class Securities(models.Model):
    name= models.CharField()
    bool_value = models.BooleanField()
    code = models.CharField()
    change_date = models.DateField()
    bool_value = models.BooleanField()

让我们说我有这样的

NAME  | CODE | CHANGE_DATE | BOOL_VALUE
 A    | 8328 | 15.02.2018  |     1
 A    | 8328 | 02.09.2018  |     0
 B    | 8328 | 02.09.2018  |     1
 C    | 8328 | 02.09.2018  |     1
 C    | 8328 | 20.09.2018  |     0

我要过滤下一个结果:

NAME  | CODE | CHANGE_DATE | BOOL_VALUE
 A    | 8328 | 02.09.2018  |     0
 B    | 8328 | 02.09.2018  |     1
 C    | 8328 | 20.09.2018  |     0

2 个答案:

答案 0 :(得分:1)

如果您想通过Django ORM查询基于change_date字段的最新字段,可以使用以下方法:

Securities.objects.latest('change_date')

答案 1 :(得分:1)

我会喜欢

new_securities = Securities.objects.order_by('-CHANGE_DATE').distinct('NAME')

说明您在CHANGE_DATE之前订购表,“-”代表反向 那么您可以按名称区分查询,这意味着从现在开始我将忽略所有重复的名称