Do not use deepcopy on models

This commit is contained in:
Raphael Michel
2018-08-07 15:43:57 +02:00
parent 0c0172a0b6
commit c702814203
7 changed files with 31 additions and 13 deletions

View File

@@ -1,3 +1,5 @@
import copy
from django.db import models
@@ -8,3 +10,14 @@ class Thumbnail(models.Model):
class Meta:
unique_together = (('source', 'size'),)
def modelcopy(obj: models.Model):
n = copy.copy(obj)
for f in obj._meta.fields:
val = getattr(obj, f.name)
if isinstance(val, models.Model):
setattr(n, f.name, val)
else:
setattr(n, f.name, copy.deepcopy(val))
return n