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