理想的には、stockが必要です。 Productのフィールド その製品で利用可能な数量の数を維持するためのモデル。
誰かが注文すると、別のorder インスタンスは、Productの数量の数で作成する必要があります 指定。そのorderのコールバックが受信された場合にのみ、在庫を減らす必要があります または、支払いを確認するWebhookを受信します。
これにより、商品が実際に販売されるまで、他の顧客が同じ商品を注文するのを防ぐことはできません。
別のアプローチは、顧客がコールバックページに移動したときに在庫を減らし、一定期間内に支払いが受け取られなかった場合に在庫を解放することです。これにはバックグラウンドタスクが必要です。
注: Fを使用する django.modelsのオブジェクト インスタンス属性ではなくDB値から在庫を減らすために、在庫を減らします。