如果x在<listofmodels.field>语法</listofmodels.field>中

时间:2012-02-20 21:04:25

标签: django django-templates

我有一个带有ManyToMany字段Y的模型X,我的查询返回一个X列表,

我该怎么做:

{% if A in X.Y %}
     Test
{% endif %}

编辑: X仍然是一个querySet(我没有迭代该集合)。

提前致谢,

1 个答案:

答案 0 :(得分:2)

你几乎就在那里。您只需返回一个实际的查询集:

{% if A in X.Y.all %}
    Test
{% endif %}

更新(根据评论)

使用模板代码是不可能的,你需要做一个过滤器,而Django模板语言不允许将参数传递给方法。在您看来,您可以这样做:

X.objects.filter(Y=A).exists()

并将结果传递给模板中使用的上下文,但我不确定这是否符合您的确切需求。