加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 与django中的pk = request.user和pk = request.user.i

发布时间:2020-12-16 23:45:42 所属栏目:Python 来源:网络整理
导读:class MyUser(User): job = ... city = .... MyUser.objects.get(pk = request.user)和MyUser.objects.get(pk = request.user.id)给出了相同的结果.从doc开始,pk必须是int.但是request.user是一个对象.为什么对象和用户ID的查询是相同的? 编辑:我知道reque
class MyUser(User):
    job = ...
    city = ....

MyUser.objects.get(pk = request.user)和MyUser.objects.get(pk = request.user.id)给出了相同的结果.从doc开始,pk必须是int.但是request.user是一个对象.为什么对象和用户ID的查询是相同的?

编辑:我知道request.user是对象,但我想知道为什么结果是相同的.

提前致谢

解决方法

这是设计 – 如果将模型对象作为参数传递给查询,则与传递其主键相同.

如果这不是行为,则需要传递pk,或者是错误,这只会令人讨厌.

感谢rebus对源代码的引用:https://code.djangoproject.com/browser/django/trunk/django/db/models/fields/related.py#L175

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读