Il mio problema è il seguente:Django ORM e bloccaggio tavolo
Ho un rivenditore di auto A, e un tavolo da db denominata sold_cars
. Quando viene venduta un'auto, creo la voce in questa tabella.
La tabella ha una colonna intera di nome order_no
. Dovrebbe essere unico all'interno delle auto vendute dal rivenditore.
Quindi se il rivenditore A ha venduto le automobili a, b and c
, questa colonna deve essere 1, 2, 3
. Devo usare questa colonna, e non una chiave primaria perché non voglio avere buchi nella mia numerazione - i dealer A e B (che potrebbero essere aggiunti in seguito) dovrebbero avere numeri di ordine 1, 2, 3 e non A : 1, 3, 5 e B: 2, 4, 6. Quindi ... Seleziono l'ultimo order_no più grande per un determinato rivenditore, incrementarlo di 1 e salvare.
Il problema è che due persone hanno acquistato auto dal concessionario A nello stesso millisecondo ed entrambi gli ordini hanno ottenuto lo stesso ordine_no. Qualche consiglio? Stavo pensando di chiudere questo processo in un blocco di transazioni e bloccare questa tabella fino a quando la transazione non è completa, ma non riesco a trovare alcuna informazione su come farlo.
Molto bello, grazie. – Norman8054