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?

Foi útil?

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
scroll top