मेरे पास django के बारे में एक प्रश्न है।Django post_save() सिग्नल कार्यान्वयन
मैं ManyToMany यहाँ
class Product(models.Model):
name = models.CharField(max_length=255)
price = models.DecimalField(default=0.0, max_digits=9, decimal_places=2)
stock = models.IntegerField(default=0)
def __unicode__(self):
return self.name
class Cart(models.Model):
customer = models.ForeignKey(Customer)
products = models.ManyToManyField(Product, through='TransactionDetail')
t_date = models.DateField(default=datetime.now())
t_sum = models.FloatField(default=0.0)
def __unicode__(self):
return str(self.id)
class TransactionDetail(models.Model):
product = models.ForeignKey(Product)
cart = models.ForeignKey(Cart)
amount = models.IntegerField(default=0)
मॉडल बनाया 1 गाड़ी वस्तु के लिए है, मैं नए TransactionDetail वस्तु (उत्पाद और राशि) के रूप में कई सम्मिलित कर सकते हैं। मेरा सवाल यह है कि। मैं ट्रिगर को कैसे कार्यान्वित कर सकता हूं? जब भी एक लेनदेन विवरण बनाया जाता है, मैं चाहता हूं कि मैं चाहता हूं कि उत्पाद के शेयर की मात्रा लेनदेन की राशि से निकाली जाए।
मैंने post_save() के बारे में पढ़ा है लेकिन मुझे यकीन नहीं है कि इसे कैसे कार्यान्वित किया जाए। शायद इस
की तरह कुछ जब: post_save (TransactionDetail, कार्ट) वस्तु #Cart जहां TransactionDetail.cart = Cart.id
Cart.stock -= TransactionDetail.amount
यदि आप ऐसा करते हैं तो आप दौड़ की स्थिति में भागने की संभावना रखते हैं। –