.. _orm_genropy/approfondimenti/accesso_concorrente: Accesso concorrente =================== In caso di utilizzo contemporaneo del *db* da parte di più utenti, l'ORM mette a disposizione una serie di strumenti atti a gestire l'accesso concorrente al record. Il parametro *for_update=True* ------------------------------ In una qualsiasi :ref:`Operazione di lettura` è possibile richiedere la restituzione del record a scopo di successiva modifica semplicemente passando il parametro ``for_update=True``:: rec_trapano = tbl_prodotto.record(where='$codice=:cod_prod', cod_prod='T1', for_update=True).output('dict') A questo punto sarà possibile modificare il rec_trapano come segue:: old_record = dict(rec_trapano) rec_trapano['prezzo_unitario'] = rec_trapano['prezzo_unitario'] * 3 Ed effettuare *update* e *commit* come descritto al paragrafo precedente. .. hint:: Si noti che prima di effettuare la modifica facciamo una copia del record costruendone un dizionario (*old_record*). Questo passaggio non è obbligatorio ma è buona consuetudine per innescare determinati eventi di business logic, per esempio nei :ref:`trigger` Metodi per la modifica di record ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Per agevolare la modifica di un record è stato messo a disposizione il metodo :ref:`recordToUpdate` , mentre per la modifica di molti record in contemporanea, è possibile usare la funzione :ref:`batchUpdate` . .. sectionauthor:: Davide Paci