2012-01-10 12 views
6
class MyUser(User): 
    job = ... 
    city = .... 

MyUser.objects.get(pk=request.user) और MyUser.objects.get(pk=request.user.id) मुझे एक ही परिणाम दे। doc से, पीके एक int होना चाहिए। लेकिन request.user एक वस्तु है। वस्तु और उपयोगकर्ता आईडी के लिए प्रश्न समान क्यों हैं?एक ही परिणाम

संपादित करें: मुझे पता है कि request.user ऑब्जेक्ट है लेकिन मैं जानना चाहता हूं कि परिणाम समान क्यों हैं।

अग्रिम

उत्तर

9

धन्यवाद इस डिजाइन से है - यदि आप एक सवाल के पैरामीटर के रूप में एक मॉडल वस्तु पारित, यह अपने प्राथमिक कुंजी गुजर के समान है।

यदि यह व्यवहार नहीं था, तो पीके पास करने की आवश्यकता होगी, या एक त्रुटि, जो केवल परेशान होगी। https://code.djangoproject.com/browser/django/trunk/django/db/models/fields/related.py#L175

+4

+1, [स्रोत संदर्भ] (https://code.djangoproject.com/browser/django/trunk/django/db/models/fields/:

स्रोत के लिए इस संदर्भ के लिए रिबास के लिए धन्यवाद related.py # L175) –

+0

@ मार्सिन, rebus, anwsers के लिए धन्यवाद। – TheNone

संबंधित मुद्दे