Django - 检查列表是否包含模板中的内容

时间:2011-02-03 02:36:54

标签: python django django-models django-templates

我正在尝试检查项目是否在模板内的列表(集合)中。

我在这里找到了这个问题: 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 %}

其中trip是Trip的一个实例, 用户是用户, Trip有一个ManyToManyField通过TripReservation

将它连接到User
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')

1 个答案:

答案 0 :(得分:1)

request.user.trip_set.all不是列表,而是查询集。我认为这是你问题的原因。您可以尝试使用dictsort模板过滤器将其更改为列表。

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