2017-08-02 46 views
0

我試圖按所有者過濾查詢集,但出於某種原因使用self.request.user結果爲NameError名稱'自我'未在課堂上定義?

class PackageListView(LoginRequiredMixin, ListView, Self): 
    model = Package 
    user = self.request.user 
    queryset = Package.objects.filter(owner=user).order_by('-received_date') 

我該如何解決這個問題?

+0

在自我中大寫s --- --- Self.request.user – ja08prat

+0

你的參數被命名爲'self' not'self'(注意大寫)。大多數編程語言(包括Python)區分大小寫 – litelite

回答

2

queryset是在加載類時定義的。您目前無法訪問self.request.user。改爲覆蓋get_queryset

class PackageListView(LoginRequiredMixin, ListView): 
    model = Package 

    def get_queryset(self): 
     user = self.request.user 
     return Package.objects.filter(owner=user).order_by('-received_date') 

注意我已刪除從class PackageListViewSelf - 它看起來像一個錯誤。

+0

謝謝。開始在他的項目上工作,我們在這個問題上幾乎撕裂了我們的頭髮。 – tabuu9

相關問題