Domanda per principianti Django. Ho il seguente modello:elementi molti-a-molti in un modello: controlla se nessuno è vuoto o nessuno
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)
Rendo un'istanza del modello disponibile in un modello come "gamba". Nel modello, voglio vedere se, per quell'istanza, ci sono QUALSIASI driver associati. Ho provato {% se leg.drivers%} ma sembra sempre valutare True, indipendentemente dal fatto che ci siano driver o meno per la gamba.
Come faccio a verificare se ci sono effettivamente dei driver? Ci scusiamo per la domanda di base, ma non riesco a capirlo.
Prova '{% if leg.drivers_set.all()%}' –
Penso che questo sarebbe per una relazione a ritroso come driver.leg_set.all. E non puoi usare le parentesi nei modelli, almeno non con il motore di template django, jinja lo accetterebbe. – Jingo
Le parentesi non vengono utilizzate nei modelli, solo in vista. Così sarebbe: '{% if leg.drivers_set.all%}' –