名称 'self' 未在 class 中定义?
Name 'self' not defined in class?
我正在尝试按所有者过滤查询集,但出于某种原因使用 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')
我该如何解决这个问题?
queryset
是在加载class时定义的。您此时无法访问 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 PackageListView
行中删除了 Self
-- 它看起来像一个错误。
我正在尝试按所有者过滤查询集,但出于某种原因使用 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')
我该如何解决这个问题?
queryset
是在加载class时定义的。您此时无法访问 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 PackageListView
行中删除了 Self
-- 它看起来像一个错误。