modèles de Django sélectionnant un seul champ

J’ai une table / des modèles appelés Employees et je voudrais obtenir toutes les lignes d’un seul champ en tant que jeu de requête.

Je sais que je peux le faire comme ça (j’espère que je le fais bien):

 emp_list = Employees.objects.get(all) emp_names = emp_list.eng_name 

Interroge la firebase database pour tous les champs et en utilise un seul? Existe-t-il un meilleur moyen (plus rapide) de le faire?

 Employees.objects.values_list('eng_name', flat=True) 

Cela crée une liste plate de tous les eng_name s. Si vous voulez plus d’un champ par ligne, vous ne pouvez pas faire de liste plate: cela créera une liste de tuples:

 Employees.objects.values_list('eng_name', 'rank') 

En plus de values_list comme le mentionne Daniel, vous pouvez également utiliser only (ou defer l’effet inverse) pour obtenir un jeu de requête d’objects n’ayant que leur identifiant et les champs spécifiés:

 Employees.objects.only('eng_name') 

Cela exécutera une seule requête:

 SELECT id, eng_name FROM employees 

Nous pouvons sélectionner les champs requirejs sur les valeurs.

 Employee.objects.all().values('eng_name','rank')