Idealiter zou u een stock
. moeten hebben veld in uw Prodduct
model om het aantal beschikbare hoeveelheden voor dat product te behouden.
Wanneer iemand een bestelling plaatst, een aparte order
instantie moet worden aangemaakt met het aantal hoeveelheden van het Prodduct
gespecificeerd. De voorraad mag pas worden verlaagd zodra de terugbelactie is ontvangen voor die order
of er wordt een webhook ontvangen die de betaling bevestigt.
Dit weerhoudt andere klanten er niet van om hetzelfde product te bestellen totdat het artikel daadwerkelijk is verkocht.
Een andere benadering zou kunnen zijn om de voorraad te verminderen wanneer de klant naar de terugbelpagina gaat en de voorraad vrij te geven als de betaling niet binnen een bepaalde tijdsduur wordt ontvangen. Hiervoor is een achtergrondtaak vereist.
Opmerking: gebruik F
object van django.models
terwijl de voorraad wordt verkleind om de voorraad te verminderen van de DB-waarde en niet van het instantiekenmerk.