Idealnya Anda harus memiliki stock
di Product
. Anda model untuk menjaga jumlah kuantitas yang tersedia untuk produk tersebut.
Saat seseorang memesan, order
yang terpisah instance harus dibuat dengan jumlah kuantitas Product
ditentukan. Stok hanya boleh dikurangi setelah panggilan balik diterima untuk order
itu atau webhook diterima untuk mengonfirmasi pembayaran.
Ini tidak akan mencegah pelanggan lain untuk memesan produk yang sama sampai barang tersebut benar-benar terjual.
Pendekatan lain bisa dengan mengurangi stok saat pelanggan membuka halaman panggilan balik dan melepaskan stok jika pembayaran tidak diterima dalam jangka waktu tertentu. Tugas latar belakang akan diperlukan untuk ini.
Catatan: gunakan F
objek dari django.models
sambil mengurangi stok untuk mengurangi stok dari nilai DB dan bukan atribut instans.