¿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.