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

MyUser.objects.get(pk=request.user) ve MyUser.objects.get(pk=request.user.id) bana aynı sonucu verir. doc'dan, pk bir int olmalıdır. Ama request.user bir nesnedir. Nesne ve kullanıcı kimliği için neden sorgular aynı?aynı sonuç

düzenleme: request.user öğesinin nesne olduğunu biliyorum, ancak sonuçların neden aynı olduğunu bilmek istiyorum. peşin

cevap

9

yılında

Teşekkür Bu tasarım gereğidir - Eğer bir sorguya parametre olarak bir model nesnesi geçirirseniz, onun birincil anahtar geçen aynıdır. Bu davranış değilse, pk geçirilmesi veya yalnızca rahatsız edici olabilecek bir hata olması gerekirdi. https://code.djangoproject.com/browser/django/trunk/django/db/models/fields/related.py#L175

+4

+ 1, [Kaynak referans] (https://code.djangoproject.com/browser/django/trunk/django/db/models/fields/: kaynağına Bu başvuru için rebus için

sayesinde related.py # L175) –

+0

@Marcin, rebus, Anwsers için teşekkürler. – TheNone