[Python-es] SqlAlchemy, no consigo hacer un join

Juan BC jbc.develop en gmail.com
Vie Mar 4 20:19:11 EST 2016


estas usando sqlalchmy solo o algo tipo flask-sqlalchemy?
El 04/03/2016 20:45, "kausdiv" <kausdiv en gmail.com> escribió:

> 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 en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20160304/53094904/attachment.html>


Más información sobre la lista de distribución Python-es