- September 9, 2008
- model copy
- 3 (after 3 ratings)
Create a copy of a model instance.
Works in model inheritance case where
instance.pk = None is
not good enough, since the subclass instance refers to the
parent_link's primary key during save.
M2M relationships are currently not handled, i.e. they are not copied.
See also Django #4027.
1 2 3 4 5 6 7
from django.db.models import AutoField def copy_model_instance(obj): initial = dict([(f.name, getattr(obj, f.name)) for f in obj._meta.fields if not isinstance(f, AutoField) and\ not f in obj._meta.parents.values()]) return obj.__class__(**initial)
More like this
- Clone model mixin by zakj 6 years, 11 months ago
- Duplicate related objects of model instance by johnboxall 6 years, 10 months ago
- ImportObject: Import model *instance* specific code at runtime by guettli 6 years, 3 months ago
- Copy/Paste form generation by dballanc 8 years ago
- CustomQueryManager by zvoase 7 years, 4 months ago