Afficher les valeurs Django () sur la clé étrangère dans le modèle en tant qu'objet au lieu de son identifiant

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

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?

Était-ce utile?

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