我有下一个模特。同样在下面,您可以看到带有数据的表格。例如,您有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
答案 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之前订购表,“-”代表反向 那么您可以按名称区分查询,这意味着从现在开始我将忽略所有重复的名称