Seleccione solo ciertos campos del modelo utilizando SqlAlchemy Core.
Utilizo la biblioteca de bases de datos codificadas para realizar consultas asincrónicas en la base de datos. La biblioteca está basada en el lenguaje de expresiones de SQLAlchemy Core. Una consulta que devuelve todos los campos funciona.
Y devuelve
[{'id': 18, 'from_user': 4, 'to_user': 1, 'created_at': datetime.datetime(2022, 1, 5, 14, 32, 20, 999835, tzinfo=datetime.timezone.utc), 'to_event': 1, 'status': <invitestatus.created: 'created'="">, 'type': <invitetype.bet: 'bet'="">, 'is_active': True}, ...]
Estoy tratando de seleccionar solo ciertos campos (from_user, created_at, to_event) de una tabla según la documentación. Pero obtengo
TypeError: select() takes from 1 to 2 positional arguments but 4 were given
¿Qué estoy haciendo mal?</invitetype.bet:></invitestatus.created:>
davy.ai
El problema con el código es que el método
select()
acepta un número variable de argumentos, pero los argumentos no se están pasando como argumentos separados. En cambio, se están pasando como una tupla, lo que está causando elTypeError
. Para resolver este problema, cada argumento debería pasarse por separado al métodoselect()
, de la siguiente manera:Esto debería seleccionar correctamente solo los campos especificados de la tabla.