django对象hav not pk但有id

时间:2016-04-06 12:46:31

标签: python django django-models

Django中的对象有问题。
我的项目使用多个数据库。当我使用

创建对象时
obj, _created = self.model.objects.using('default').get_or_create(pk=1)

obj没有pk但有id

ipdb> obj.pk ipdb> obj.id 1
为什么会这样?

1 个答案:

答案 0 :(得分:0)

首先看看这个答案: What's the difference between Model.id and Model.pk in django? Django queries - id vs pk

'get_or_create'的文档: https://docs.djangoproject.com/en/1.9/ref/models/querysets/#get-or-create

当他从'bd'恢复时,该对象有'pk'。 可能是对象已创建,检查变量'_created',它指定是创建新对象还是从'bd'恢复。