创建django模型实例的克隆。
django-clone的Python项目详细描述
Django克隆
动态创建模型实例的克隆(即副本)。
fromdjango.dbimportmodelsfromdjango.utils.translationimportgettext_lazyas_frommodel_cloneimportCloneMixinclassTags(models.Model):name=models.CharField(max_length=255)def__str__(self):return_(self.name)classTestModel(CloneMixin,models.Model):title=models.CharField(max_length=200)tags=models.ManyToManyField(Tags)_clonable_many_to_many_fields=['tags']
创建克隆
In[1]:test_obj=TestModel.objects.create(title='New')In[2]:test_obj.tags.create(name='men')In[3]:test_obj.tags.create(name='women')In[4]:clone=test_obj.make_clone(attrs={'title':'Updated title'})In[5]:test_obj.titleOut[5]:'New'In[6]:test_obj.tags.all()Out[6]:<QuerySet[<Tag:men>,<Tag:women>]>In[7]:clone.titleOut[7]:'Updated title'In[8]:clone.tags.all()Out[8]:<QuerySet[<Tag:men>,<Tag:women>]>