Hola.
Tengo un pequeño proyecto que incluye dos tablas: artículos
y movimientos.
Lo que trato es de conseguir una consulta en sqlalchemy que
me de cada artículo con dos campos al final con la suma de
entras y salidas desde la tabla movimientos
session.query(
articulos.id,
articulos.nombre,
func.sum(movimientos.uEntrada).label('Entradas'),
func.sum(movimientos.uSalida).label('Salidas')).join(movimientos,
articulos).all()
Pues bien esto genera el siguiente error:
"OperationalError: (sqlite3.OperationalError) ambiguous
column name:
articulos.id
[SQL: u'SELECT
articulos.id
AS articulos_id, articulos.nombre AS articulos_nombre,
sum(movimientos.uEntrada) AS "Entradas",
sum(movimientos.uSalida) AS "Salidas" FROM articulos JOIN
movimientos ON
articulos.id
= movimientos.id_articulo JOIN articulos ON
articulos.id =
movimientos.id_articulo']
"
Si cambio en el join(articulos, movimientos) sale otro error
y en ningún caso consigo el listado.
Detalle de la tabla de movimientos con su clave
foranea a articulos:
class movimientos(Base):
__tablename__ = "movimientos"
id = Column(Integer, nullable= False, primary_key= True,
autoincrement= True)
id_articulo = Column(ForeignKey(
articulos.id))
¿ como puedo conseguir ese listado ?
Saludos.