2016-01-01 18 views
5

Bir futbol takımını, bir futbol takımı etkinliğini ve bir etkinlik konumunu temsil eden üç modelim olduğunu varsayalım. Her futbol takımında birden fazla etkinlik var. Her etkinliğin bir yeri yoktur.Modelleri ana modelin tarihine göre sıralayan Django sorgusu

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

nasıl footballTeam ait son Eventlocation almak için bir Django sorgu yazarım? Başka bir deyişle, bir model modelini ana modelin tarihine göre nasıl sıralarım?

cevap

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

Oh wow, order_by işleviyle ilişki aramaları yapabileceğinizi bilmiyordum. Teşekkürler! –

İlgili konular