使用继承处理实例时,`pk`和`id`不相同

时间:2018-05-22 02:20:18

标签: django

我知道pk更可取,因为id是内置的。它们是相同的。

但是,引用使用继承的复制实例,区分它们并不复杂:

在官方教程doc

#Due to how inheritance works, you have to set both pk and id to None:
django_blog.pk = None
django_blog.id = None
django_blog.save() # django_blog.pk == 4

在那里,pk绝对不同于id

如何理解?

1 个答案:

答案 0 :(得分:1)

saving的操作会为您的模型提供ID。这将填充您的idpk属性。

通过强调两者都可以设置,文档可能更完整。