Exibir valores Django () na chave estrangeira no modelo como objeto em vez de seu id
-
05-07-2019 - |
Pergunta
Eu tenho um queryset em Django que chama Model.objects.values('item')
... onde 'item'
é uma chave estrangeira.
class Words(models.Model):
word = models.CharField()
class Frequency(models.Model):
word = models.ForeignKey(Words)
...
Assim Isso retorna o ID de item e é exibido como um id no modelo. Como posso mostrar o valor do item real no modelo em vez do id?
Solução
Para se referir propriedades dos itens de chave estrangeira, você deve usar '__' lookup notação nos campos. MyModel.objects.values('item__prop1', 'item__prop2', ...)
deve trabalhar para você.
E você pode imprimi-lo em modelos referenciando os nomes de propriedade como esta, quando o nome da variável de modelo para o resultado é values
.
{% for v in values %}
Prop1: {{ v.item__prop1 }}
Prop2: {{ v.item__prop2 }}
...
{% endfor %}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow