【发布时间】:2019-04-06 11:17:04
【问题描述】:
这是我的模型:
class Stock_Total(models.Model):
purchases = models.ForeignKey(Purchase,on_delete=models.CASCADE,null=True,blank=True,related_name='purchasetotal')
stockitem = models.ForeignKey(Stockdata,on_delete=models.CASCADE,null=True,blank=True,related_name='purchasestock')
gst_rate = models.DecimalField(max_digits=4,decimal_places=2,default=5)
@receiver(pre_save, sender=Stock_Total)
def update_gst_rate(sender, instance, *args, **kwargs):
instance.gst_rate = instance.stockitem.gst_rate
@receiver(post_save, sender=Purchase)
def trigger_gst(sender, instance, *args, **kwargs):
instance.purchasetotal.save()
“Purchase”和“Stockdata”是我创建的其他模型...我只想在保存购买模型时保存 Stock_Total 模型,即当我点击保存购买模型时,Stock_Total 模型将自动更新连同购买模型...
有人知道吗?
【问题讨论】:
-
instance.purchasetotal是一对多的关系,它可以引用零个、一个或多个项目。但是调用.save()没有任何意义,因为您基本上会要求数据库“使用表中已有的值更新表中的字段”。 -
还有其他方法吗???
标签: python django django-models django-signals