Django 一个查询集中有多个筛选器()和最新()

Django 一个查询集中有多个筛选器()和最新(),django,django-models,Django,Django Models,我的模型: 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.DecimalFi

我的模型:

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

每次出现错误时:DoesNotExist:速率匹配查询不存在

如何编写正确的查询? 需要更多信息吗?

试试:

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]

离题:我建议您不要硬编码
get\u absolute\u url
函数。改为使用
反向
rate_latest_object = rate_list_by_latest[0]