Django 文档建议复制模型实例:
original.pk = None
original.save()
但是如果你“使用继承”——显然意味着如果模型的类是子类的子类models.Model
——你需要做的稍微不同。
具体来说,文档说:
由于继承的工作原理,您必须将 pk 和 id 都设置为 None:
并给出一个类似的例子:
original.pk = None
original.id = None
original.save()
这看起来很笨拙。无论如何,我想了解发生了什么。为什么使用继承需要您将id
字段设置为None
也?models.Model
在任何情况下,不是所有的 Django 模型都继承自吗?
(注意:我在文档中省略了有关复制 m2m 字段的内容,顺便说一下,这似乎更加笨拙。)