Supposons que j'ai un certain nombre de queryset disons de longueur 100 query_objs=[q1,q2,...,q100]
en fonction de certains critères. Comment puis-je filtrer cet ensemble de requêtes dites is_admin = True. Je sais que cet ensemble de requêtes a is_admin = True 10 fois.Comment obtenir toutes les valeurs dans les modèles django?
0
A
Répondre
1
vous pouvez filtrer votre queryset avant d'appeler values
Entry.objects.filter(is_admin=True).values_list('id', flat=True).order_by('id')
1
L'objectif serait de concevoir votre application afin que le queryset n'est pas évalué qu'après le dernier filtre est appliqué par votre fonction.
par exemple
qs = Entry.objects.filter(...whatever...)
qs = qs.exclude(...whatever...)
qs = qs.filter(...something_else...)
# qs is not evaluated yet
def my_func(some_qs):
return some_qs.filter(is_admin=True)
qs = my_func(qs)
# qs is still not evaluated yet
si vous avez pas d'autre choix que de filtrer un queryset déjà évalué, alors sachez que vous pouvez simplement le traiter comme tout autre itératives, par exemple utiliser la fonction intégrée dans le filtre comme sur une liste :
admins = filter(lambda x: x.is_admin, my_evaluated_qs)
Questions connexes
- 1. Django obtenir toutes les valeurs liées du modèle
- 2. Comment obtenir toutes les valeurs de toutes les entrées?
- 3. comment utiliser les modèles dans les modèles dans django
- 4. Obtenir toutes les valeurs d'énumération
- 5. Comment obtenir toutes les valeurs d'entrée disponibles
- 6. Agrégation Django dans les modèles?
- 7. Dans Django, comment effacer toutes les clés et valeurs memcached?
- 8. Obtenir des informations sur les utilisateurs dans les modèles django
- 9. Est-ce que les modèles Django ont un dictionnaire de données contenant toutes les valeurs actuelles?
- 10. Django related_name dans les modèles
- 11. Django: débogage dans les modèles
- 12. fonctions dans les modèles django
- 13. Fractionner toutes les valeurs souhaitées dans la chaîne Django
- 14. comment obtenir toutes les valeurs d'une clé à valeurs multiples de la requête Django. GET QueryDict
- 15. Magasin django forms.MultipleChoiceField dans les modèles directement
- 16. Comment obtenir les valeurs dans le champ du modèle django?
- 17. Comparer les variables dans les modèles Django
- 18. Django sur toutes les applications
- 19. Comment utiliser PIL dans les modèles django
- 20. Comment utiliser request.GET dans les modèles Django
- 21. jquery obtenir toutes les valeurs déroulantes
- 22. valeurs dict-Traduire comme dans les modèles Django
- 23. Django | Les modèles where
- 24. Obtenir toutes les valeurs de NSDictionary (profondément)
- 25. Django: Comment obtenir toutes les tables et toutes les colonnes de cette table dans un projet?
- 26. modèles Django éviter les doublons
- 27. Comment obtenir toutes les valeurs de la ligne dans Hibernate?
- 28. Comment obtenir toutes les valeurs d'un NSDictionaries dans un NSDictionary?
- 29. Comment obtenir toutes les valeurs enum dans Java?
- 30. Comment obtenir toutes les valeurs de ce Json dans Android?
J'ai un querset = [obj1, ob2, ob3 ...]. Comment puis-je filtrer sur cet ensemble de requêtes. Je ne veux pas faire un nouvel appel db. En fait, je passe un queryset à une fonction. Et ces queryset peuvent provenir de différents modèles. Mais ma fonction est générique. – user426795
Le jeu de requête a-t-il été évalué auparavant? Si ce n'est pas le cas, vous n'avez pas encore atteint la base de données, alors allez-y et faites-le. De plus, vous pourriez être dans trop d'optimisation prématurée, c'est OK pour frapper la DB quand vous avez besoin d'un ensemble spécifique d'éléments. –
Ok Merci pour les conseils. Mais j'ai une fonction qui prend queryset. Je passe un jeu de requête évalué. Evaluation basée sur les différents paramètres Mais donc la fonction prend différents queryset sur différents ocassion. Mais en réalité la fonction fait le filtre sur le jeu de queries basé sur le is_admin = True – user426795