2014-07-08 34 views
0

我的模型:多個過濾器()和最新的()在一個查詢集

class Rate(models.Model): 
    building = models.ForeignKey(Building, verbose_name="Objekt") 
    year = models.IntegerField("Jahr") 
    monthly_rate = models.DecimalField("Monatsrate", max_digits=8, decimal_places=2) 
    payed = models.DecimalField("Tatsächlich Bezahlt (Brutto)", max_digits=8, decimal_places=2, blank=True, null=True) 

    class META: 
     get_latest_by = ['year'] 

    def __unicode__(self): 
     return unicode(self.monthly_rate) 

    def get_absolute_url(self): 
     return "/rates/detail/%i" % self.id 

    def yearly(self): 
     return self.monthly_rate*12 

我需要建設的最新率-對象。

我想:

rate = building.rate_set.latest('year') 

rate = Rate.objects.filter(building=building).latest('year') 

和.....

每次我得到一個錯誤:DoesNotExist:速率匹配查詢不存在

如何編寫正確的查詢? 是否需要更多信息?

+0

題外話:我建議你不要硬編碼你的'get_absolute_url'功能。改用'reverse'。 –

回答

0

嘗試:

rate_list_by latest = Rate.objects.filter(building=building).order_by('-pk') 

通過一年的嘗試:

rate_list_by_latest = Rate.objects.filter(building=building).order_by('-year') 

最新率對象:

rate_latest_object = rate_list_by_latest[0] 
相關問題