django 对象没有 pk 但有 id
Posted
技术标签:
【中文标题】django 对象没有 pk 但有 id【英文标题】:django object havn't pk but have id 【发布时间】:2016-04-06 12:46:30 【问题描述】:我对 Django 中的对象有疑问。 我的项目使用多重数据库。当我使用
创建对象时obj, _created = self.model.objects.using('default').get_or_create(pk=1)
obj 没有 pk 但有 id
ipdb> obj.pk
ipdb> obj.id
1
为什么会这样?
【问题讨论】:
看看这个***.com/questions/22345711/… 和那里的链接 【参考方案1】:先看看这个答案: 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”恢复。
【讨论】:
对不起,我没有写,我尝试更新这个对象。他存在于db中,所以_cretated return False以上是关于django 对象没有 pk 但有 id的主要内容,如果未能解决你的问题,请参考以下文章
django 视图没有返回 HttpResponse 对象。它返回 None 而不是