【问题标题】:django related manager - in templatedjango 相关管理器 - 在模板中
【发布时间】:2013-04-05 03:20:27
【问题描述】:

我正在尝试显示某个位置的最新评分。我有 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 %}

relatedmanager 可以做这种事情吗?

【问题讨论】:

标签: python database django django-related-manager


【解决方案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 %}

【讨论】:

    猜你喜欢
    • 2020-11-27
    • 1970-01-01
    • 1970-01-01
    • 2018-11-30
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 2011-03-12
    • 2012-05-28
    相关资源
    最近更新 更多