Отображать значения Django() для внешнего ключа в шаблоне как объект вместо его идентификатора
-
05-07-2019 - |
Вопрос
У меня есть набор запросов в Django, который вызывает Model.objects.values('item')
...где 'item'
является внешним ключом.
class Words(models.Model):
word = models.CharField()
class Frequency(models.Model):
word = models.ForeignKey(Words)
...
Таким образом, это возвращает идентификатор элемента и отображается как идентификатор в шаблоне.Как мне показать фактическое значение элемента в шаблоне вместо идентификатора?
Решение
Чтобы ссылаться на свойства элементов внешнего ключа, вы должны использовать обозначение подстановки '__' в полях. MyModel.objects.values('item__prop1', 'item__prop2', ...)
должно сработать на вас.
И вы можете распечатать его в шаблонах, обратившись к именам свойств следующим образом, когда имя переменной шаблона для результата равно values
.
{% for v in values %}
Prop1: {{ v.item__prop1 }}
Prop2: {{ v.item__prop2 }}
...
{% endfor %}
Не связан с StackOverflow