这可能非常简单,但我已经阅读了文档并且找不到任何内容。
我有一个看起来像的列表: [{foo:2,bar:5},{foo:3,bar:4}]
其中foo实际上是一个对象id。 bar是从values.annotate查询生成的。
所以现在我循环我的项目,我需要显示每个foo的条形值,从列表中拉出它。有没有办法在django模板中执行此操作?
所以我需要一个模板标签或过滤器,从列表中提取字典,其中foo值等于我正在使用的对象的id。 (除了列表中的x:如果x.foo =#:,因为我的列表中会有很多字眼,而且看起来很笨拙。)
答案 0 :(得分:2)
我认为,如果不是试图在模板中处理这个数据结构,而是将其折叠成一个像这样的字典,那可能会更好:
aggregate_dict = {<id_1>:<val_1>,...}
这样您就可以更轻松地将模板中的值设置为{{aggregate_dict.<id_n>}}
。
你可以用一个小循环来做到这一点:
aggregate_dict = {}
for item in your_old_list:
aggregate_dict[item[foo]] = item[bar]