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)都区分大小写。开始和爸爸一起做他的项目,在这个问题上我们差点把头发扯掉。谢谢。开始和爸爸一起做他的项目,在这个问题上我们几乎要发疯了。