Visualizza i valori di Django () sulla chiave esterna nel modello come oggetto anziché il suo ID

StackOverflow https://stackoverflow.com/questions/1602557

Domanda

Ho un queryset in Django che chiama Model.objects.values ??('item') ... dove 'item' è una chiave esterna.

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

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

Quindi, questo restituisce l'id articolo e viene visualizzato come id nel modello. Come faccio a mostrare il valore effettivo dell'articolo nel modello anziché l'id?

È stato utile?

Soluzione

Per fare riferimento alle proprietà degli elementi della chiave esterna, è necessario utilizzare la notazione di ricerca '__' nei campi. MyModel.objects.values ??('item__prop1', 'item__prop2', ...) dovrebbe funzionare per te.

E puoi stamparlo in modelli facendo riferimento ai nomi delle proprietà in questo modo, quando il nome della variabile modello per il risultato è valori .

{% for v in values %}
    Prop1: {{ v.item__prop1 }}
    Prop2: {{ v.item__prop2 }}
    ...
{% endfor %}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top