Python 名称';自我';课堂上没有定义?

Python 名称';自我';课堂上没有定义?,python,django,python-3.x,django-views,self,Python,Django,Python 3.x,Django Views,Self,我正在尝试按所有者筛选查询集,但由于某些原因,使用self.request.user会导致namererror class PackageListView(LoginRequiredMixin, ListView, Self): model = Package user = self.request.user queryset = Package.objects.filter(owner=user).order_by('-received_date') 我该如何解决这个

我正在尝试按所有者筛选查询集,但由于某些原因,使用
self.request.user
会导致
namererror

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

我该如何解决这个问题

类加载时定义
queryset
。此时无法访问
self.request.user
。替代
get\u 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 PackageListView
行中删除了
Self
,这看起来像是一个错误。

类加载时定义了
queryset
。此时无法访问
self.request.user
。替代
get\u 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')

注意:我已经从
类PackageListView
行中删除了
Self
,这看起来像是一个错误。

将Self-->Self.request.users中的s大写。您的参数名为
Self
而不是
Self
(注意大写)。大多数编程语言(包括Python)都区分大小写,在self-->self.request.users中将s大写。您的参数名为
self
而不是
self
(注意大写)。大多数编程语言(包括Python)都区分大小写。开始和爸爸一起做他的项目,在这个问题上我们差点把头发扯掉。谢谢。开始和爸爸一起做他的项目,在这个问题上我们几乎要发疯了。