Django - 在模板中检查列表是否包含某个元素
我正在尝试在一个模板中检查某个项目是否在一个列表(集合)里。
我在这里找到了这个问题:
在Django模板中,是否可以检查一个对象是否包含在一个列表中不过这个解决方案对我来说不管用。
我正在尝试这个:
{% if trip in request.user.trip_set.all %}
这里的trip是一个Trip的实例,user是一个User,Trip通过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 个回答
2
request.user.trip_set.all
不是一个列表,而是一个查询集(queryset)。我觉得这可能是你遇到问题的原因。你可以尝试用字典排序的模板过滤器把它转换成一个列表。
{% if trip in request.user.trip_set.all|dictsort:"id" %}