2017-08-13 28 views
1

如何使用django的generic class DetailView獲取當前用戶相關對象?使用基於函數的觀點,我能得到這樣的對象:如何使用django泛型類detailview獲取用戶特定的對象?

def foo(request): 
    friendProfile = get_object_or_404(request.user.profile.friends,username="admin") 

什麼是相當於使用詳細信息視圖?我猜這是與get_objectget_context_data有關,但我不能完全理解這些文件。

謝謝。

回答

2

request是基於類的視圖的屬性。要獲得當前用戶,您應該使用self.request.user

DetailView重載get_queryset來編輯用於獲取對象的查詢集。

我不知道你的朋友模型是如何定義的,但我們假設它有一個指向你的個人資料的外鍵,related_name設置爲friend_of。您的看法可能是:

class FriendProfileDetail(DetailView): 
    model = Friend 
    def get_queryset(self): 
     return self.model.objects.filter(friend_of=self.request.user.profile) 
+0

您能爲我提供一個例子嗎? – meowmeow

+0

用示例編輯的響應。 –

+0

優秀!謝謝。 – meowmeow

相關問題