Python 如何在Django中组合和排序多个订单信息?
以下数据来自三个不同的Django序列化程序输出Python 如何在Django中组合和排序多个订单信息?,python,python-3.x,django,django-models,django-rest-framework,Python,Python 3.x,Django,Django Models,Django Rest Framework,以下数据来自三个不同的Django序列化程序输出 post=[{"title" :"abc", "date" : "10-03-2021"}, {"title" :"xyz", "date" : "28-01-2021"}, ......] comments=[{"comment_text" :"heloo
post=[{"title" :"abc", "date" : "10-03-2021"}, {"title" :"xyz", "date" : "28-01-2021"}, ......]
comments=[{"comment_text" :"heloo", "date" : "31-05-2021"}, {"comment_text" :"heloo", "date" : "20-04-2021"}, ......]
friends=[{"friend" :"abc", "date" : "12-03-2021"}, {"friend" :"xyz", "date" : "10-05-2021"}, ......]
现在我想将这三个元素合并到一个输出元素中,并按日期对其进行排序。
有可能吗
尝试了它抛出的以下代码,无法将orderddict添加到列表中
l=post+comments+friends
l.sort(key='date', reverse=True)
您只需执行以下操作:
combined_list = post + comments + friends
sorted_lilist = sorted(combined_list, key=lambda k: k['date'])
如果需要反向排序,只需将
reverse=True
arg添加到sorted
函数中即可。当然可以。你可以连接列表,然后在上面使用例如.sort()
。当我尝试连接列表时,会抛出“无法向列表中添加orderddict”,我对django有点陌生,你能帮我吗?也许你应该先显示你尝试过的代码。测试代码添加到问题中这是一个好的开始,但由于日期是dd-mm-yyyy格式,这可能不是OP最终想要的。(也就是说,他们无论如何都应该使用ISO 8601 yyyy mm dd日期…)将引发此错误,无法将OrderDct添加到列表中@Sergey Pugach它抛出<在datetime.datetime和str实例中不受支持