目前,我在我的Django模板中使用了一个for循环:
{% for item in itemlist.items.all %}
<!-- do something -->
{% endfor %}
现在这非常适合循环浏览我的项目列表中的所有记录,但我想添加一个过滤器,例如,让我们说我的项目有价格,我想只循环遍历项目价格> 5。我怎样才能做到这一点?有没有像if语句一样切片的方法?
我尝试过这样的事情但是没有工作&#34;
{% for item in itemlist.items.all|price > 5 %}
感谢您的帮助!
答案 0 :(得分:3)
您可以在模型中执行此操作。
定义模型方法。
class ItemList(models.Model):
field1 = models.CharField(...)
def get_items(self):
return self.items.filter(price__gt = 5)
在您的模板中,您可以执行以下操作。
{% for item in itemlist.get_items %}
<!-- do something -->
{% endfor %}