django связанный менеджер - в шаблоне

Я пытаюсь показать последнюю оценку рейтинга местоположения. у меня есть 2 таблицы (модели Django)

Class Location(models.Model):
   locationname = models.CharField()
   ...

Class Rating(models.Model):
   von_location = models.ForeignKey(Location,related_name="locations_rate")
   rating = models.IntegerField()

сейчас в моей базе данных одно местоположение (id=1) имеет 3 рейтинга (1,2,4).

Я хочу показать последнюю запись в рейтинге для местоположения. я могу сделать это в шаблоне, используя связанный менеджер как-то?

мое видение:

all_locs = Location.objects.all()

затем в шаблоне:

{% for location in all_locs %}
   {{ location.locations_rate.latest }}
{% endfor %}

Могут ли соответствующие менеджеры делать подобные вещи?

1 ответ

Решение

Мой ответ на ваш другой связанный вопрос:

models.py

class Location(models.Model):
    locationname = models.CharField(max_length=100)

    def __unicode__(self):
        return self.locationname

    def latest(self):
        return Rating.objects.values('rating').filter(von_location=self).order_by('-id')[0]

class Rating(models.Model):
   von_location = models.ForeignKey(Location,related_name="locations_rate")
   rating = models.IntegerField()

   def __unicode__(self):
        return "{0}".format(self.rating)

views.py

all_locs = Location.objects.all()

шаблон

{% for location in all_locs %}
   {{ location.locationname }} - {{ location.latest.rating }}<br/>
{% endfor %}
Другие вопросы по тегам