2011-02-03 18 views
12

アイテムがテンプレートのリスト(セット)内にあるかどうかをチェックしようとしています。Django - リストにテンプレートに何かが含まれているかどうか確認してください。

私はこの質問をここに見つけた:解決策は私のために働いていませんが Is it possible, in a django template, to check if an object is contained in a list

私はこれをしようとしている:

旅は旅のインスタンスである
{% if trip in request.user.trip_set.all %} 

、 ユーザーは、ユーザーである、 トリップはTripReservation

class TripReservation(models.Model): 
    user = models.ForeignKey(User) 
    trip = models.ForeignKey(Trip) 

class Trip(models.Model): 
    members = models.ManyToManyField(User,blank=True,null=True,through='TripReservation') 
+0

あなたはどのバージョンのDjangoを使用していますか?それは最新バージョンで動作するはずです。 – MattoTodd

+0

私はDjango 1.2を使用しています。私はそれがクエリーセットだからだと思う。 – JPC

答えて

1
を通じて、ユーザーにそれを接続するのManyToManyFieldを持っています

request.user.trip_set.allはリストではなくクエリーセットです。私はそれがあなたの問題の理由だと思う。あなたはdictsortテンプレートフィルターでそれをリストに変更しようとすることができます。

{% if trip in request.user.trip_set.all|dictsort:"id" %} 
+0

それはうまくいかなかった。私はdictsortがクエリーセットをリストに変換することではないと思う。別の方法がありますか? – JPC

関連する問題