Skip to main content
 首页 » 编程设计

python之django 模板只显示不同的值

2024年08月25日27kevingrace

假设我有一个查询:

cities = City.objects.all() 

在我的模板中我做了:

{% for city in cities %} 
    {{city.friend_name}} 
    <a href="{% url "my_url" city.friend_name.id %}" class="btn btn-primary">View Detail</a> 
{% endfor %} 

它给了我 4 个 friend 的名字,id 是 alex 1、matt 2、mack 3、mack 3。但是这里重复了 mack。我只想要麦克一次。如果重复这些值,我希望它只打印一次。

我如何在模板中执行此操作。我的意思是有没有像 {{city.friend_name|distinct}} 或者其他的东西

我不想要独一无二的城市。我希望 friend 在城市中的名字是唯一的。

谢谢

请您参考如下方法:

不要使用额外的输入参数,只需使用“ifchanged”django 内置过滤器:https://docs.djangoproject.com/en/2.0/ref/templates/builtins/#ifchanged

{% for city in cities|dictsort:'friend_name' %} 
    {% ifchanged %}{{city.friend_name}}{% endifchanged %}     
    <a href="{% url "my_url" city.friend_name.id %}" class="btn btn-primary">View Detail</a> 
{% endfor %} 

附注我知道它已经 3 岁了,但这对其他人来说是一个有用的答案。