[英]Same result for pk=request.user and pk=request.user.id in django
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.