2016-01-01 3 views
5

Angenommen, ich habe drei Modelle, die eine Fußballmannschaft, ein Fußballteam-Ereignis und einen Veranstaltungsort darstellen. Jede Fußballmannschaft hat mehrere Veranstaltungen. Nicht jedes Ereignis hat einen Standort.Django Abfrage, die Modelle nach Datum des übergeordneten Modells sortiert

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() 

Wie schreibe ich eine Django-Abfrage die neuesten Eventlocation eines Footballteam abzurufen? Mit anderen Worten, wie sortiere ich eine Reihe von Modellen nach dem Datum eines übergeordneten Modells?

Antwort

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

Oh wow, ich wusste nicht, dass Sie Beziehungssuche mit der Funktion order_by durchführen können. Vielen Dank! –