2
votes

comment utiliser des modèles dans django pour une requête

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


0 commentaires

3 Réponses :


4
votes

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


0 commentaires

1
votes
user = User.objects.get(name = 'dinkan', age = '20')

0 commentaires

2
votes

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


1 commentaires

et si je veux tous les identifiants de la table, quel serait le code pour cela?