Supposons que j'ai une table usr avec le nom et l'âge de Feilds table usr
select id from usr where name="dinkan" or age="20";
ma requête est
____________ id|name |age| 1 |dinkan | 12| ____________
la sortie correspondante doit être 1
donc, ma question est de savoir comment pour implémenter cela dans django 2.1 en utilisant des modèles
3 Réponses :
Vous devez utiliser l'opérateur Q
fourni par les modèles django.
Les objets Q vous offrent un contrôle complet sur la clause where de la requête.
utilisez une requête orm comme celle-ci:
from django.db.models import Q Table.objects.filter(Q(name="dinkan") | Q(age="20")).values("id")
vous pouvez en savoir plus à ce sujet ici
user = User.objects.get(name = 'dinkan', age = '20')
Si vous ne voulez qu'un seul résultat, vous devez écrire:
from django.db.models import Q Model.objects.filter(Q(name="name") | Q(age="age")).values("id")
le résultat correspondant sera 1.
update: p>
Si vous voulez tous les identifiants, alors
from django.db.models import Q Model.objects.filter(Q(name="name") | Q(age="age")).first().id
et si je veux tous les identifiants de la table, quel serait le code pour cela?