Visualizza i valori di Django () sulla chiave esterna nel modello come oggetto anziché il suo ID
-
05-07-2019 - |
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?
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