Questo sito utilizza cookie per le proprie funzionalità e per inviarti pubblicità e servizi in linea con le tue preferenze. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie.

Accedendo al link http://www.odoo-italia.org/index.php/home/cookie-policy puoi leggere in dettaglio le modalità di trattamento dei cookie da parte dell'Associazione Odoo Italia.

Benvenuto, Ospite
Nome utente: Password: Ricordami

ARGOMENTO: Problema scrittura nel database

Problema scrittura nel database 5 Anni 4 Mesi fa #13582

  • sgrecords
  • Avatar di sgrecords
  • Offline
  • Senior Boarder
  • Messaggi: 43
  • Karma: 0
Sto modificando un modulo con OpenERP 6.1 che gira su debian 6

Devo scrivere un valore (value) in una tabella del database e lo faccio utilizzando queste righe di codice all'interno di un for che cicla il valore di "listing_id".
I 2 print che ho messo prima e dopo sono per controllare il valore scritto

print listing_obj.browse(cr,uid,listing_id).stock_qty
listing_obj.write(cr, uid, listing_id,{'stock_qty':float(value)})
print listing_obj.browse(cr,uid,listing_id).stock_qty

La stampa della console mi mostra che stock_qty prima del write vale 0.0 mentre dopo il write vale il valore della variabile "value".
Purtroppo però, controllando il contenuto del database con PgAdmin mi accorgo che in realtà nel database il valore non viene realmente scritto, o forse viene cancellato, perché se a queste righe faccio seguire un break che mi interrompe il ciclo for e poi controllo il valore con pgAdmin trovo che in stock_qty è memorizzato il corretto valore della variabile "value"

Qualcuno mi sa spiegare che succede?
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Problema scrittura nel database 5 Anni 4 Mesi fa #13596

  • eLBati
  • Avatar di eLBati
  • Online
  • Platinum Boarder
  • Messaggi: 1766
  • Ringraziamenti ricevuti 186
  • Karma: 38
Dipende da quando leggi il db con PgAdmin.
Ogni chiamata all'ORM di openerp è contenuta in una transazione SQL. Quindi, se con pdb blocchi l'esecuzione del metodo prima che questo finisca (dopo aver chiamato la 'write') e vai nel db a vedere la tabella che stai scrivendo, non vedrai nulla di nuovo, perchè non è ancora stato fatto il commit della transazione.
Lorenzo Battistini
github.com/eLBati

TAKOBI
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Tempo creazione pagina: 0.122 secondi

Odoo Italia Associazione - C.F: 94200470485 - Sede: Viale dei Cadorna, 83 - Firenze - Italy

Protected by R Antispam