El 18/07/2015 a las 04:36, Kaus Div escribió:
Marcelo lo que pretendo es que forme parte de la base de datos, es decir
un campo calculado.

Por ejemplo la tabla de conceptos ahora es:
id = Column(xxxx)
Nombre = Column(xxxx)
Agregando:
Suma_ent = Column(xxx)
Suma_sal = Column(xxx)



Y que esas suman correspondan a la entradas de caja cucho concepto sea
el elegido en el apunte de caja

Igual en la tabla Entidades.


El 17 de julio de 2015, 18:41, Marcelo Barbero
<marcelobarb...@arnet.com.ar <mailto:marcelobarb...@arnet.com.ar>> escribió:

    El 17/07/2015 a las 06:56, kausdiv escribió:

        Hola estoy aprendiendo sqlalchemy, y lo que más me está costando
        es el
        tema del asunto.

        Practicando he creado una especie de libro de caja este sería el
        esquema:


        Esto ya funciona tanto en una aplicación Camelot como en consola.

        Mi problema que no acabo de entender es como hacer que tanto en
        Conceptos como en Entidades tenga la suma del Caja.Entrada y
        Caja.Salida
        de los apuntes de caja que tienen relacionados.

        He probado con hybrid property y con @aggregate.  Solo consigo
        errores.

        ¿ Alguna ayuda que me oriente ?

        Saludos.


    Sobre una variable de conexión que voy a llamar conn, podés hacer:

    consulta = "SELECT Conc.Nombre, Ent.Nombre, SUM(C.Entrada),
    SUM(C.Salida) FROM Caja C, Conceptos Conc, Entidades Ent WHERE
    C.id_Conceptos = Conc.id AND C.id_Entidad = Ent.id GROUP BY
    Conc.Nombre, Ent.Nombre"
    resultados = conn.execute(consulta)

    #para probar
    for i in resultados.fetchall():
          print i

    Comentario: en la consulta se pueden agregar más condiciones a la
    cláusula WHERE y a los resultados

    Marcelo
    _______________________________________________

La violación de normalización de la base de datos que pensás hacer no tiene sentido hacerla con un campo calculado, sino con un campo normal que se actualice mediante un trigger (si lo acepta la base de datos) o en código, dentro de transacciones.

Marcelo Barbero
_______________________________________________
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