将模板中的外键上的Django值()显示为对象而不是其id
-
05-07-2019 - |
题
我在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 %}
不隶属于 StackOverflow