Afficher les valeurs Django () sur la clé étrangère dans le modèle en tant qu'objet au lieu de son identifiant
-
05-07-2019 - |
Question
Dans Django, j'ai un ensemble de requêtes qui appelle Model.objects.values ??('item')
... où 'item'
est une clé étrangère.
class Words(models.Model):
word = models.CharField()
class Frequency(models.Model):
word = models.ForeignKey(Words)
...
Donc, ceci retourne l'identifiant de l'article et s'affiche comme identifiant dans le modèle. Comment puis-je afficher la valeur réelle de l'élément dans le modèle au lieu de l'id?
La solution
Pour faire référence aux propriétés des éléments de clé étrangère, vous devez utiliser la notation de recherche '__' dans les champs. MyModel.objects.values ??('item__prop1', 'item__prop2', ...)
devrait fonctionner pour vous.
Et vous pouvez l’imprimer dans les modèles en référençant les noms de propriété de la sorte, lorsque le nom de la variable de modèle pour le résultat est valeurs
.
{% for v in values %}
Prop1: {{ v.item__prop1 }}
Prop2: {{ v.item__prop2 }}
...
{% endfor %}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow