首页 > 解决方案 > 从字典列表中获取最新的日期字典

问题描述

我有包含日期​​、名称和状态的字典对象列表。

elements = [
    {
        "PersonId": 301178,
        "Wwid": "10692133",
        "FullNm": "abc",
        "CompletionDt": "2015-04-29",
        "status": "Complete",
    },
    {
        "PersonId": 301178,
        "Wwid": "10692133",
        "FullNm": "abc",
        "CompletionDt": "2019-07-30",
        "status": "complete",
    },
    {
        "PersonId": 301178,
        "Wwid": "10692133",
        "FullNm": "abc",
        "CompletionDt": "2016-08-01",
        "status": "Inclomplete",
    },
    {
        "PersonId": 301178,
        "Wwid": "10692133",
        "FullNm": "abc",
        "CompletionDt": "2017-04-10",
        "status": "Completed",
    },
]

在这本词典中,如何使用 python 选择最新的日期对象?

在上面的例子中

result= {
"PersonId": 301178,
"Wwid": "10692133",
"FullNm": "abc",
"CompletionDt": "2019-07-30",
"status" : "complete"
}

标签: jsonpython-3.xdjango

解决方案


在这里,我将假设您的对象的 ID 随着时间的推移而变得越来越大(创建对象越晚,ID 越大),因为比较DateTime对象将是一件痛苦的事情 - 或者是不必要的。

qs = Person.objects.order_by('-id')[0]

基本上,您通过反转ID 顺序(最大 --> 最小)对其进行排序,然后检索第一项,如果我的上述假设成立,这将是查询集中最新创建的对象。


推荐阅读