Elenco di restituzione e scalari

Esistono numerosi metodi dell'oggetto Query che emettono immediatamente SQL e restituiscono un valore contenente i risultati del database caricato.

Ecco un breve riepilogo della lista di restituzione e degli scalari:

tutti()

Restituisce un elenco. Di seguito è riportata la riga di codice per la funzione all ().

session.query(Customers).all()

La console Python mostra la seguente espressione SQL emessa:

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

primo()

Applica un limite di uno e restituisce il primo risultato come uno scalare.

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 ?

Il parametro associato per LIMIT è 1 e per OFFSET è 0.

uno()

Questo comando recupera completamente tutte le righe e, se non è presente esattamente un'identità di oggetto o una riga composta nel risultato, genera un errore.

session.query(Customers).one()

Con più righe trovate -

MultipleResultsFound: Multiple rows were found for one()

Senza righe trovate -

NoResultFound: No row was found for one()

Il metodo one () è utile per i sistemi che prevedono di gestire "nessun elemento trovato" rispetto a "più elementi trovati" in modo diverso.

scalare()

Invoca il metodo one () e, in caso di successo, restituisce la prima colonna della riga come segue:

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

Questo genera la seguente istruzione SQL:

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 = ?