【问题标题】:django object havn't pk but have iddjango 对象没有 pk 但有 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
为什么会这样?

【问题讨论】:

标签: python django django-models


【解决方案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
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-30
  • 2015-02-19
  • 2016-02-12
  • 2015-07-14
  • 1970-01-01
  • 2021-06-18
相关资源
最近更新 更多