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.
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a