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