gpt4 book ai didi

python - 对子文档 python Bottle 进行排序

转载 作者:太空宇宙 更新时间:2023-11-03 18:34:57 25 4
gpt4 key购买 nike

我正在运行 Bottle 框架和 MongoDB。在下面的字典中,我需要按排名对子字典进行排序。 Mongo 不支持对子文档进行排序(除非我使用 $push 进行排序),并且我更愿意对 python 和模板中的媒体数组进行“排名”排序。

一个“条目”:

{ 
"_id" :"...",
"author" : "...",
"body" : "...",
"date" : ...,
"media" : [
{
"caption" : "Drone",
"rank" : "2",
"media_link" : "34.jpg"
},
{
"caption" : "Tea drinker",
"rank" : "1",
"media_link" : "87.jpg"
},
{

"caption" : "Daniele",
"rank" : "3",
"media_link" : "54.jpg"
}
],

}

我想按排名进行排序的模板代码。

%if ('media' in entry): 
%numMedia = len(entry['media'])
%else:
%numMedia = 0
%end


%for i in range(0, numMedia):
<td valign="top">
<img width='200' src='{{entries['media'][i]['media_link']}}'><br>
Media Caption: {{entries['media'][i]['caption']}}<br>
Rank: {{entries['media'][i]['rank']}}</td>
%end

我尝试了几种不同的方法,但无法使其发挥作用..

最佳答案

您好,欢迎 TomSjogren,基本上你需要像这样对集合列表进行排序:

media = entry['media']
sorted_media = sorted(media, key=lambda m:m['rank'])

我对django不太熟悉,但我想应该是这样的:

%for m in sorted_media:
<td valign="top">
<img width='200' src='{{m['media_link']}}'><br>
Media Caption: {{m['caption']}}<br>
Rank: {{m['rank']}}</td>
%end

关于python - 对子文档 python Bottle 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21771149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com