Django beginner question. Tengo el siguiente modelo:elementos de muchos a muchos en una plantilla: compruebe si alguno no está vacío o ninguno
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)
Hago una instancia del modelo disponible en una plantilla como 'leg'. En la plantilla, quiero ver si, para esa instancia, hay CUALQUIER controlador asociado. Intenté {% if leg.drivers%} pero eso siempre parece evaluar a True, independientemente de si hay controladores o no para el tramo.
¿Cómo verifico si realmente hay algún controlador? Perdón por la pregunta básica pero parece que no puedo resolverlo.
Pruebe '{% if leg.drivers_set.all()%}' –
Creo que esto sería una relación inversa como driver.leg_set.all. Y no puedes utilizar llaves en las plantillas, al menos no con el motor de plantilla django, jinja lo aceptaría. – Jingo
Paranthesis no se utilizan en plantillas, solo a la vista. Así sería: '{% if leg.drivers_set.all%}' –