Entendido Marcelo. ¿ y como se haría con transacciones ? ¿ podrías ponerme un ejemplo ?
Gerardo, estoy creando un libro de caja para aprender y que me sirva para extender en otros proyectos. La lógica de estos campos calculados sería ven por concepto e identidad su saldo y sus acumuados de entradas y salidas. Imagina que tengo el concepto "gastos de luz", y hay 5 apuntes con salida de 100€ en total. Si entro en la ficha de dicho concepto veré el total entrada y salida si los hay. Igual con entidades. Otra opción es que filtre los apuntes y me de los totales. Quizá tome esta. Pero es que quiero aprender los distintos métodos. El 18 de julio de 2015, 16:57, Marcelo Barbero <marcelobarb...@arnet.com.ar> escribió: > 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/ >
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/