V ideálním případě byste měli mít stock
pole ve vašem Product
model, aby byl zachován počet dostupných množství pro daný produkt.
Když někdo zadá objednávku, samostatná order
instance by měla být vytvořena s počtem množství Product
specifikováno. Zásoby by se měly snížit až po obdržení zpětného volání pro tuto order
nebo je přijat webhook potvrzující platbu.
To by nebránilo ostatním zákazníkům zadávat objednávky na stejný produkt, dokud nebude položka skutečně prodána.
Dalším přístupem by mohlo být snížení zásob, když zákazník přejde na stránku zpětného volání, a uvolnění zásob, pokud platba není přijata během určité doby. K tomu by byla vyžadována úloha na pozadí.
Poznámka: použijte F
objekt z django.models
při snížení zásoby, aby se zásoby snížily z hodnoty DB a nikoli z atributu instance.