2016-01-01 5 views
5

Dire che ho tre modelli che rappresentano una squadra di calcio, un evento di una squadra di calcio e un luogo dell'evento. Ogni squadra di calcio ha più eventi. Non tutti gli eventi hanno una posizione.Domanda di Django che ordina i modelli in base alla data del modello principale

class FootballTeam(models.Model): 

    team_name = models.CharField() 

    def get_latest_location(self): 

     # ??? 

class Event(models.Model): 

    team = models.ForeignKey(FootballTeam) 
    time = models.DateField() 

class EventLocation(models.Model): 

    event = models.ForeignKey(Event) 
    location_name = models.CharField() 

Come faccio a scrivere una query Django per recuperare l'ultima Eventlocation di un FootballTeam? In altre parole, come faccio a ordinare un set di modelli in base alla data di un modello principale?

risposta

4
def get_latest_location(self): 
    return EventLocation.objects.filter(event__team=self).order_by("-event__time").first() 
+0

Oh wow, non sapevo che si potevano fare ricerche di relazione con la funzione order_by. Grazie! –

Problemi correlati