2017-01-26 10 views
0

私はListViewモデルを持っています。これは私に必要なクエリーセットを生成します。それで、私のテンプレート、私は何かのように:djangoクエリーセット(テンプレート内)にループするときのエントリをスキップ

{% 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++>の操作を行います。しかし、私は何をしたいのですか?あなたはそれが完璧に機能していない編集のこの種を行う必要がある場合

+0

を高める多分 '場合i.var1 == "のMyString" i.var2 ' – Gocht

答えて

0

は、コメントで

.exclude(var1="mystring") 

あなたはクエリセットが来ると述べているあなたの視野の中にあなたのクエリセットのうち、これらのエントリをフィルタする必要があります反復可能なから、これはあなたが絶対にテンプレートにしなければならない何かである場合には、唯一の方法は、周囲の完全である非常に少なくとも、あなたはビュー

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

でリストの内包を行うことができると思いますので、あなたがあなたの質問に既にある陳述

+0

残念ながら、クエリセットがあります私はそれが何かであると想像していたので、それが何を意味するのかを正確に見ることは興味深いでしょう(私は知っています!) – JohnJ

+1

@JohnJビューで管理できます。しかし、もしそれがテンプレート内にある必要があれば、現在のループには 'continue'がありません – Sayse

+0

@JohnJ - ビューの" queryset "/ iterableを修正できる方法を追加しました。それはあなたがテンプレートで行う必要のないことです – Sayse

1

この他にあなた

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

役立つかもしれない、この単純に文字列MyString、ループカウンタをスキップも

関連する問題