¿Consulta SQLAlchemy para devolver solo n resultados?


84

He estado buscando en Google y leyendo la documentación de SQLAlchemy pero no he encontrado lo que estoy buscando.

Estoy buscando una función en SQLAlchemy que limite el número de resultados devueltos por una consulta a un número determinado, por ejemplo: 5? Algo como first()o all().

Respuestas:


157

para sqlalchemy >= 1.0.13 Utilice el método de límite .

query.(Model).filter(something).limit(5).all()

10

Sintaxis alternativa

query.(Model).filter(something)[:5].all()

2
SQLAlchemy == 1.1.15, aumento:AttributeError: 'list' object has no attribute 'all'
— Waket Zheng

1
Use esta consulta: consulta. (Modelo) .filter (algo) .limit (5) Funciona bien en SQLAlchemy == 1.1.15
— Rana

1
Si lo hace [: 5], creo que la base de datos aún extraerá todos los resultados y luego solo usará los últimos 5. Definitivamente es mejor usar limit para evitar que la base de datos devuelva datos adicionales.
— Brian Sizemore

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.