Lista de retorno y escalares

Hay varios métodos en el objeto Query que emiten SQL inmediatamente y devuelven un valor que contiene los resultados de la base de datos cargada.

Aquí hay un resumen de la lista de retorno y los escalares:

todos()

Devuelve una lista. A continuación se muestra la línea de código para la función all ().

session.query(Customers).all()

La consola de Python muestra la siguiente declaración SQL emitida:

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

primero()

Aplica una restricción de uno y devuelve el primer resultado como escalar.

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 ?

Los parámetros de límite para LIMIT son 1 y para OFFSET son 0.

uno()

Este comando recupera todas las cadenas por completo y, si en el resultado no hay exactamente una identificación de objeto o una cadena compuesta, se genera un error.

session.query(Customers).one()

Cuando se encuentran varias líneas:

MultipleResultsFound: Multiple rows were found for one()

Si no se encuentran líneas –

NoResultFound: No row was found for one()

El método one () es útil para sistemas que esperan manejar «elementos no encontrados» y «múltiples elementos no encontrados» de diferentes formas.

escalar ()

Llama al método one () y, si tiene éxito, devuelve la primera columna de la fila de la siguiente manera:

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

Esto genera la siguiente declaración 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 = ?

🚫