我有一个名为Group
的模型(不要与内置的Django组混淆),ManyToMany
字段名为admins
到django.contrib.auth.models.User
。在我的模板中,我希望用户能够在管理员(管理员字段包含当前用户)时删除该组。我现在这样做的方式是这样的循环:
{% for admin in group.admins.all %}
{% if user == admin %}<a href="/groups/delete/{{group.id}}/">[x]</a>{% endif %}
{% endfor %}
由于Django不鼓励将属性传递给模板内的函数,因此我无法使用filter
字段上的get
或admins
函数。但我想知道是否有更直接的方法来解决这个问题,而不是循环遍历所有管理员。
答案 0 :(得分:0)
Django模板support the if x in list
syntax(根据链接线程,自Django 1.2开始)。您可以使用单个if
:
{% if user in groups.admins %}
<a href="/groups/delete/{{group.id}}/">[x]</a>
{% endif %}