尝试从字典中获取唯一的值列表

问题描述 投票:0回答:1

我有一本结构类似于的字典:

{
    'id': 16, 
    'name': 'something', 
    'client': 'client1', 
}, 
{
    'id': 17, 
    'name': 'something', 
    'client': 'client2', 
},
{
    'id': 18, 
    'name': 'something-else', 
    'client': 'client3', 
}

我可以在模板中迭代我的字典,但在这种情况下我试图获取

name
的唯一值。 我尝试了几种不同的选择,例如:

{% for name in data | unique %}

{% for name in data.name | unique %}

但没有一个给我返回唯一名称的列表。

最好的方法是什么? 我考虑过创建一个自定义过滤器,但想知道是否有更好的方法来做到这一点。

python flask jinja2
1个回答
0
投票

来自文档

从给定的可迭代对象中返回唯一项的列表。

case_sensitive
– 区分大小写字符串。

attribute
– 过滤具有该属性唯一值的对象。

因为您想根据

name
参数的值消除重复项,所以您应该相应地设置
attribute
参数:

{% for name in data | unique(attribute="name") %}
© www.soinside.com 2019 - 2024. All rights reserved.