В идеалния случай трябва да имате stock
поле във вашия Prodduct
модел, за да запази броя на наличните количества за този продукт.
Когато някой направи поръчка, отделна order
екземплярът трябва да бъде създаден с броя на количествата на Prodduct
посочени. Наличността трябва да бъде намалена само след като бъде получено обратното извикване за тази order
или се получава уебкукичка, потвърждаваща плащането.
Това няма да попречи на други клиенти да правят поръчки за същия продукт, докато артикулът действително не бъде продаден.
Друг подход може да бъде намаляване на наличността, когато клиентът отиде на страницата за обратно извикване и освобождаване на наличността, ако плащането не бъде получено в рамките на определен период от време. За това ще е необходима фонова задача.
Забележка: използвайте F
обект от django.models
докато намалява запаса, за да намали запаса от стойността на DB, а не от атрибута на екземпляра.