Python Django-将模型字段复制到另一个字段

Python Django-将模型字段复制到另一个字段,python,django,debugging,model,Python,Django,Debugging,Model,我做了很多搜索,但找不到合适的方法。 我想将一些模型对象数据复制到另一个模型对象数据。 我在下面添加了我的代码。我有3个模型。如你所见,我有一个FK, 与收货字段相关的收货模型。当我想添加Receiptitem对象时,我想精确复制金额、增值税和总金额。 我不了解保存方法 用户将添加产品和收据。然后,当用户尝试选择ReceiptItem receipt和product DropList时,他将选择他想要的对象,其他内容将自动显示。我想这样做 类收据(models.Model): 金额=型号。小数字

我做了很多搜索,但找不到合适的方法。 我想将一些模型对象数据复制到另一个模型对象数据。 我在下面添加了我的代码。我有3个模型。如你所见,我有一个FK, 与收货字段相关的收货模型。当我想添加Receiptitem对象时,我想精确复制金额、增值税和总金额。 我不了解保存方法

用户将添加产品和收据。然后,当用户尝试选择ReceiptItem receipt和product DropList时,他将选择他想要的对象,其他内容将自动显示。我想这样做

类收据(models.Model):
金额=型号。小数字段(最大位数=5,小数位数=2)
vat=型号。小数字段(最大位数=5,小数位数=2)
总金额=型号。小数字段(最大位数=5,小数位数=2)
定义(自我):
返回str(自身总金额)
类接收项(models.Model):
收据=型号。外键('receipt',on_delete=models.CASCADE)
product=models.ForeignKey('product',on_delete=models.CASCADE)
金额=型号。小数字段(最大位数=5,小数位数=2)
vat=型号。小数字段(最大位数=5,小数位数=2)
增值税税率=型号。小数字段(最大位数=5,小数位数=2)
小计=型号。小数字段(最大位数=5,小数位数=2)
name=models.CharField(最大长度=200)
类别产品(型号.型号):
name=models.CharField(最大长度=200)
增值税税率=型号。小数字段(最大位数=5,小数位数=2)
金额=型号。小数字段(最大位数=5,小数位数=2)
定义(自我):
返回self.name

如果您希望在保存您的
ReceiptItem
时复制数据,您可以像这样重载模型的
save
功能:

class ReceiptItem(models.Model):
    # your fields here
    def save(self, *args, **kwargs):
        self.vat = self.receipt.vat
        # copy the other data you need here

        # the line below calls Model.save() which commits
        # your changes to the database
        super(ReceiptItem, self).save(*args, **kwargs)
另一个选项是在对象保存到数据库之前,如果需要这些值,可以在
ReceiptItem.\uuu init\uuu()
中设置这些值