- en
- Language: ru
- Documentation version: 2.0
2. Как скопировать или клонировать существующий объект модели?
Встроенного метода копирования экземпляров модели не существует, можно создать новый экземпляр с копированием значений всех полей.
Если экземпляр сохраняется с параметром pk
, установленным в None
, то этот экземпляр используется для создания новой записи в БД. Это означает, что каждое поле, кроме PK
, копируется.
In [2]: Hero.objects.all().count()
Out[2]: 4
In [3]: hero = Hero.objects.first()
In [4]: hero.pk = None
In [5]: hero.save()
In [6]: Hero.objects.all().count()
Out[6]: 5