Ideelt set bør du have en stock
felt i dit Product
model for at holde antallet af tilgængelige mængder for det pågældende produkt.
Når nogen afgiver en ordre, en separat order
instans skal oprettes med antallet af mængder af Product
specificeret. Lagerbeholdningen bør kun reduceres, når tilbagekaldet er modtaget for den order
eller der modtages en webhook, der bekræfter betalingen.
Dette ville ikke forhindre andre kunder i at afgive ordrer på det samme produkt, indtil varen faktisk er blevet solgt.
En anden tilgang kunne være at reducere lagerbeholdningen, når kunden går til tilbagekaldssiden, og frigive lagerbeholdningen, hvis betalingen ikke modtages inden for et bestemt tidsrum. Baggrundsopgave ville være påkrævet til dette.
Bemærk: brug F
objekt fra django.models
mens beholdningen reduceres for at reducere beholdningen fra DB-værdien og ikke instansattributten.