如何解决如何使用信号将数据添加到不同的表?
在我的发票应用程序中,当客户付款时,我使用日期和客户名称以及支付的金额创建新的客户付款,在 clientpaymentitem 我选择客户支付的一张或多张发票并将 amount_paid 放在每一行以及钱在哪里存放在银行或出纳处。例如,我可以接收现金和支票,然后我选择 treasury.cashier 以现金支付发票,另一个以支票支付与 treasury.bank 相同。现在我希望当我保存客户付款时,这笔交易将同时保存在国库中,无需重复整个过程。我尝试使用信号,但不能正常工作,以防我修改前数量。
class ClientPayment(models.Model):
date = models.DateField(default=timezone.now)
client = models.ForeignKey('Client',on_delete=models.PROTECT)
total_paid = models.DecimalField(default=0,max_digits=20,blank=True,null=True,decimal_places=2)
class ClientPaymentItem(models.Model):
clientpayment = models.ForeignKey('ClientPayment',on_delete=models.CASCADE)
invoice = models.ForeignKey('Invoice',on_delete=models.PROTECT)
amount_paid = models.DecimalField(max_digits=20,decimal_places=2)
treasury = models.ForeignKey('Treasury',on_delete=models.PROTECT)
class Treasury(models.Model):
name = models.CharField(max_length=256)
class TreasuryItem(models.Model):
treasury = models.ForeignKey('Treasury',on_delete=models.CASCADE)
date = models.DateField(default=timezone.now)
name = models.CharField(max_length=256)
debit = models.DecimalField(max_digits=20,decimal_places=2,default=0)
credit = models.DecimalField(max_digits=20,default=0)
def create_item(sender,instance,created,**kwargs):
if created:
TreasuryItem.objects.create(
treasury=instance.treasury,date=instance.clientpayment.date,name=instance.clientpayment.client,credit=instance.amount_paid,)
post_save.connect(create_item,sender=ClientPaymentItem)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。