当循环遍历queryset时,django跳过条目(在模板中)

时间:2017-01-26 19:26:02

标签: django

我有一个ListView模型,它会生成所需的查询集。然后,我是我的模板,我做了类似的事情:

{% for i in queryset %}

{{i.var1}}

{% endfor %}

..这完美无缺。但是,我想要做的是:

{% for i in queryset %}

{% if i.var1 == "mystring" %}

 <skip this entry and do i++>

{% else %}

{{i.var2}}

{% endfor %}

..但我如何<skip this entry and do i++>

2 个答案:

答案 0 :(得分:1)

这可能会对你有所帮助

{% if i.var1 != "mystring" %}

这只是跳过mystring和循环计数器也增加

答案 1 :(得分:0)

如果您需要进行此类编辑,那么它不能完美运行,您应该在视图内部的查询集中过滤这些条目

.exclude(var1="mystring")

在评论中,您声明查询集来自可迭代,因此至少您可以在视图中进行列表理解

[i for i in queryset if i.var1 != "mystring"]

如果这是您在模板中必须要做的事情,那么唯一的方法是使用您在问题中已经拥有的完整的if语句