Good afternoon, my question is this, there is a postgres sql query that does not work, I am doing the query q is:
for r in rws: try: db.ratecltes.insert(id_rutas=r.rutas.id, id_clte=r.clientes.id, rate=r.rutaproveedor.valor) except: # # # HERE IS THE ERROR # # # query=((db.ratecltes.id_rutas==r.rutas.id) & (db.ratecltes.id_clte==r.clientes.id)) db(query).update(rate=int(r.rutaproveedor.valor)) Web2py The message sent is as follows. File "/home/marcelo/web2py/applications/administrador/controllers/ default.py", line 1087, in cargar_tarifas db(query).update(rate=int(r.rutaproveedor.valor)) File "/home/marcelo/web2py/gluon/sql.py", line 3285, in update self._db._execute(query) File "/home/marcelo/web2py/gluon/sql.py", line 958, in <lambda> self._execute = lambda *a, **b: self._cursor.execute(*a, **b) InternalError: transacción abortada, las órdenes serán ignoradas hasta el fin de bloque de transacción PostgreSQL modify the settings to see the log_statement = all, and this is the result: 2010-06-03 16:31:52 CLT ERROR: transacción abortada, las órdenes serán ignoradas hasta el fin de bloque de transacción 2010-06-03 16:31:52 CLT SENTENCIA: UPDATE ratecltes SET rate=60.0 WHERE (ratecltes.id_rutas=1 AND ratecltes.id_clte=3); 2010-06-03 16:32:51 CLT WARNING: ya hay una transacción en curso 2010-06-03 16:32:51 CLT WARNING: ya hay una transacción en curso 2010-06-03 16:32:54 CLT WARNING: ya hay una transacción en curso 2010-06-03 16:33:00 CLT WARNING: ya hay una transacción en curso 2010-06-03 16:33:00 CLT ERROR: llave duplicada viola restricción de unicidad «ratecltes_ndx» 2010-06-03 16:33:00 CLT SENTENCIA: INSERT INTO ratecltes(id_rutas, id_clte, rate) VALUES (1, 3, 60.0); 2010-06-03 16:33:00 CLT ERROR: transacción abortada, las órdenes serán ignoradas hasta el fin de bloque de transacción 2010-06-03 16:33:00 CLT SENTENCIA: UPDATE ratecltes SET rate=60.0 WHERE (ratecltes.id_rutas=1 AND ratecltes.id_clte=3); I hope I can help, not that I'm failing.