我想显示一个位置的最新评分。我有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 %}
相关经理可以做这种事情吗?
答案 0 :(得分:5)
我在你的其他相关问题中的答案:
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 %}