Django中的对象有问题。
我的项目使用多个数据库。当我使用
obj, _created = self.model.objects.using('default').get_or_create(pk=1)
obj没有pk但有id
ipdb> obj.pk
ipdb> obj.id
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'恢复。