Liste de retour et scalaires

Il existe un certain nombre de méthodes d'objet Query qui émettent immédiatement du SQL et renvoient une valeur contenant les résultats de la base de données chargée.

Voici un bref aperçu de la liste de retour et des scalaires -

tout()

Il renvoie une liste. Ci-dessous, la ligne de code de la fonction all ().

session.query(Customers).all()

La console Python affiche l'expression SQL suivante émise -

SELECT customers.id 
AS customers_id, customers.name 
AS customers_name, customers.address 
AS customers_address, customers.email 
AS customers_email
FROM customers

première()

Il applique une limite de un et renvoie le premier résultat sous forme de scalaire.

SELECT customers.id 
AS customers_id, customers.name 
AS customers_name, customers.address 
AS customers_address, customers.email 
AS customers_email
FROM customers
LIMIT ? OFFSET ?

Les paramètres liés pour LIMIT sont 1 et pour OFFSET sont 0.

une()

Cette commande récupère entièrement toutes les lignes, et s'il n'y a pas exactement une identité d'objet ou une ligne composite présente dans le résultat, elle génère une erreur.

session.query(Customers).one()

Avec plusieurs lignes trouvées -

MultipleResultsFound: Multiple rows were found for one()

Aucune ligne trouvée -

NoResultFound: No row was found for one()

La méthode one () est utile pour les systèmes qui s'attendent à gérer différemment «aucun élément trouvé» et «plusieurs éléments trouvés».

scalaire()

Il invoque la méthode one () et, en cas de succès, renvoie la première colonne de la ligne comme suit -

session.query(Customers).filter(Customers.id == 3).scalar()

Cela génère l'instruction SQL suivante -

SELECT customers.id 
AS customers_id, customers.name 
AS customers_name, customers.address 
AS customers_address, customers.email 
AS customers_email
FROM customers
WHERE customers.id = ?