django - 在模板中显示外键上的Django values()作为对象而不是其ID

标签 django django-templates django-aggregation

我在Django中有一个查询集,调用Model.objects.values('item') ...,其中'item'是外键。

class Words(models.Model):
  word = models.CharField()

class Frequency(models.Model):
  word = models.ForeignKey(Words)
  ...

因此,这将返回项目ID,并在模板中显示为ID。如何在模板中显示项目的实际值而不是ID?

最佳答案

要引用外键项的属性,应在字段中使用“__”查找符号。 MyModel.objects.values('item__prop1', 'item__prop2', ...)应该适合您。

当结果的模板变量的名称是values时,您可以通过引用这样的属性名称将其打印在模板中。

{% for v in values %}
    Prop1: {{ v.item__prop1 }}
    Prop2: {{ v.item__prop2 }}
    ...
{% endfor %}

关于django - 在模板中显示外键上的Django values()作为对象而不是其ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1602557/

相关文章:

python - Django 注释外键的外键计数

Django:按日期分组(日、月、年)

django - 使用 Git 开发 Django 项目

ajax - ajax View 上的 login_required 装饰器返回 401 而不是 302

python - 引发 Http404() 时未调用 Django handler404

python - 在django模板中渲染ManytoManyfield,而不复制父模型的内容

python - 如何获取UpdateView中当前的对象?

django - 如何将Django Rest Framework默认URL更改为自定义

python - 为什么在pylint中bar被列入黑名单

python - 在 Django 查询中使用 .extra(select={...}) 引入的值上使用 .aggregate()?