Ho un modelli di Django che sono qualcosa di simile:query per un campo ManyToMany con Attraverso in Django
class Classification(models.Model):
name = models.CharField(choices=class_choices)
...
class Activity(models.Model):
name = models.CharField(max_length=300)
fee = models.ManyToManyField(Classification, through='Fee')
...
class Fee(models.Model):
activity = models.ForeignKey(Activity)
class = models.ForeignKey(Classification)
early_fee = models.IntegerField(decimal_places=2, max_digits=10)
regular_fee = models.IntegerField(decimal_places=2, max_digits=10)
L'idea è che ci sarà una serie di tasse connesse con ogni coppia di attività e classificazione. La classificazione è simile a Student, Staff, ecc.
So che la parte funziona correttamente.
Poi nella mia richiesta, mi interrogo per una serie di attività con:
activities = Activity.objects.filter(...)
che restituisce un elenco di attività. Devo mostrare nel mio modello quell'elenco di attività con le loro tariffe. Qualcosa di simile a questo:
Activity Name
Student Early Price - $4
Student Regular Price - $5
Staff Early Price - $6
Staff Regular Price - $8
Ma non so di un modo semplice per ottenere queste informazioni senza una specifica interrogazione get delle Commissioni di oggetto per ogni coppia di attività/classe.
speravo questo dovrebbe funzionare:
activity.fee.all()
Ma che solo restituisce l'oggetto di classificazione. C'è un modo per ottenere i dati dell'oggetto Fee per la coppia tramite le attività che ho già richiesto?
Oppure sto sbagliando tutto questo?