Django初学者问题。我有以下型号:
class Leg(models.Model):
startpoint = models.CharField(max_length=50, help_text="examples: 'Smith Elementary' or 'riders' houses'; less than 50 characters.")
endpoint = models.CharField(max_length=50, help_text="examples: 'Smith Elementary' or 'riders' houses'; less than 50 characters.")
riders = models.ManyToManyField(Rider, blank=True)
drivers = models.ManyToManyField(Driver, blank=True)
我将模板中可用的模型实例设为'leg'。在模板中,我想看看,对于那个实例,是否有任何关联的驱动程序。我已经尝试了{%if leg.drivers%},但无论腿部是否有任何驱动程序,它似乎总是评估为True。
如何查看是否有任何驱动程序?对不起基本问题,但我似乎无法弄明白。
答案 0 :(得分:12)
{% if leg.drivers %}
将永远是真的,因为这将是一个多对多的经理。
尝试{% if leg.drivers.all %}
获取所有相关的驱动程序。
答案 1 :(得分:1)
为此制作了for ... empty模板标记。只需循环leg.drivers.all,如果你想在没有驱动程序时显示一些消息,那么你可以在空子句中这样做。