django templatetags 不返回正确的数据
我构建了一个小型模板标签,它可以查看我的数据库并根据记录的最受欢迎的奖杯进行计算。
templatetag 如下所示:
@register.inclusion_tag('trophies/trophies.html')
def trophies():
return { 'trophies': Trophies.objects.values("specie").annotate(Count("id")).order_by()}
tropies/tropies.html
{% for obj in trophies %}
<li><a href="/trophy-room/browse/?specie={{ obj.specie }}">{{ obj.specie }}</a></li>
{% endfor %}
奖杯模型
class Trophies(models.Model):
user = models.ForeignKey(User)
specie = models.ForeignKey(Specie)
Specie 模型
class Specie(ImageModel):
species = models.CharField(max_length=50, unique=True, verbose_name='Common Name')
运行 {{ obj. specie }}
返回 id,运行 {{ obj.specie.species }}
不返回任何内容。
为什么会发生这种情况?
I've built a small templatetag that looks towards my DB and makes a calculation based on the most popular trophies logged.
templatetag looks as follows:
@register.inclusion_tag('trophies/trophies.html')
def trophies():
return { 'trophies': Trophies.objects.values("specie").annotate(Count("id")).order_by()}
trophies/trophies.html
{% for obj in trophies %}
<li><a href="/trophy-room/browse/?specie={{ obj.specie }}">{{ obj.specie }}</a></li>
{% endfor %}
trophy model
class Trophies(models.Model):
user = models.ForeignKey(User)
specie = models.ForeignKey(Specie)
Specie model
class Specie(ImageModel):
species = models.CharField(max_length=50, unique=True, verbose_name='Common Name')
running {{ obj.specie }}
returns the id, and running {{ obj.specie.species }}
returns nothing.
Why does this happen?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
试试这个:
在模板中:
查看相关问题:将模板中外键上的 Django 值()显示为对象而不是其 id
Try this:
And in template:
See related question: Display Django values() on Foreign Key in template as object instead of its id