将Django.update()与.get()一起使用

将Django.update()与.get()一起使用,django,django-models,orm,Django,Django Models,Orm,我有一张发票台 # app/models.py class tbl_invoice(models.Model): invoice_id = models.IntegerField(blank=True, null=True) invoice_number = models.IntegerField(blank=True, null=True) quotation_id

我有一张发票台

# app/models.py

class tbl_invoice(models.Model):
    invoice_id                      = models.IntegerField(blank=True, null=True)
    invoice_number                  = models.IntegerField(blank=True, null=True)
    quotation_id                    = models.IntegerField(blank=True, null=True)
    quotation_number                = models.IntegerField(blank=True, null=True)
    invoiced                        = models.CharField(max_length=50, default='', blank=True, null=True)
此表包含发票和报价记录,系统用户可以选择将任何报价转换为发票,但报价记录仍将与新生成的发票记录一起保留

这是我的观点

#views.py

    obj = tbl_invoice.objects.get(pk='someId')   # getting existing record with pk
    obj.pk = None
    obj.invoice_id  = 'someId'
    obj.quotation_id = None             
    obj.invoice_number = 'someValue'
    obj.quotation_number = None
    obj.invoiced = 'no'
    obj.type_status = 'invoice'
    obj.save()
上面的代码工作正常,它创建了一个新的发票记录,还维护了旧的报价记录

但是,在将报价转换为发票后,我还想将报价记录上的
发票
值更新为

为此,我努力了

obj.update(invoiced = 'yes')
但是
.update()
.get()

如何从现有记录创建新记录并同时更新旧记录 还是必须使用多个查询

谢谢你的帮助。

简单地说

old_obj=tbl_invoice.objects.get(pk='someId')#使用pk获取现有记录
#创建新对象
新对象=旧对象
#更改新对象值
new_obj.pk=无
new_obj.invoice_id='someId'
新建对象报价单\u id=无
新发票号='someValue'
新对象报价单编号=无
新发票=否
新建对象类型状态='发票'
#更改旧对象值
旧发票=“是”
#保存对象
新建对象保存()
旧对象保存()

啊!简单但有效,为什么我不能想到它。。。无论如何,谢谢你的帮助