2012-01-04 64 views
2

我有一個外鍵字段user = models.ForeignKey(User)的模型,它鏈接到django.contrib.auth.models中的用戶模型。我想做到以下幾點:如何在外鍵字段中使用'get'方法?

ModelName.objects.get(user.username=request.user.username) 

我會在我的代碼上面點以下錯誤:

SyntaxError: keyword can't be an expression 

,這是什麼正確的語法?

回答

4

嘗試ModelName.objects.get(user__username=request.user.username)

編輯:這取決於你的模型的關係,這可能會導致多條記錄,在這種情況下,get()方法將拋出一個異常,那麼你可以使用這個來代替: ModelName.objects.filter(user__username=request.user.username)

+0

這工作!我之前使用過這種語法,但出於某種原因,我無法找到它或記住它... – 2012-01-04 20:03:05

1

另一個方便的方式來檢索特定用戶的對象是這樣的

user = request.user 
objs = user.modelname_set.get(pk=x)