Me gustaría realizar una consulta así:
query = users.select().where(users.column.id == id) res = await database.execute(query) Luego me gustaría agregar un poco de manejo de errores al verificar res . if not res no parece ser correcto. ¿Cuál es la forma apropiada de hacer esto?
Puede intentar tomar el primer objeto de su consulta y verificar si es Nulo como este
result = users.select().where(users.column.id == id).first() if not result: print('query is empty')La otra forma de editar tu código sería
res = query.first()Y luego comprobando si es nulo
Dependiendo de la complejidad de su consulta, podría ser más económico envolverla dentro de SELECT EXISTS(...) que SELECT ... LIMIT 1 , como describe Antonio. PostgreSQL probablemente sepa tratar esas consultas de la misma manera, pero de acuerdo con esta respuesta , no todos los DBMS podrían hacerlo.
La belleza de tal solución es que existe tan pronto como encuentra algún resultado: hace el menor trabajo posible y, por lo tanto, es lo más barata posible. En SQLAlchemy sería sa.select([sa.exists(query)])