2017-02-08 8 views
1

現在、私はこのように私のDjangoテンプレートでのforループを使用しています:forループでループスルーしたレコードをフィルタリングできますか? Pythonのテンプレート

{% for item in itemlist.items.all %} 
    <!-- do something --> 
{% endfor %} 

さて、これは私のITEMLIST内のすべてのレコードをループのための素晴らしい作品が、私は、たとえば、フィルタを追加したいと思います私の商品に価格がついていて、価格が5を超える商品をループしたいとします。どうすればこれを達成できますか? if文のようにスライスする方法はありますか?

それは「助けのため

{% for item in itemlist.items.all|price > 5 %} 

おかげで動作しませんでしたが、私はこのような何かを試してみました!

答えて

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 %} 
+0

ありがとうございました!それは美しく動作します! – user2573690

関連する問題