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