带request.user的Django通用CBV查询集

Ale*_*lla 1 django django-class-based-views

如果我这样做:

class ActivityListView(ListView):
    template_name = "activities/activities.html"
    queryset = Activity.objects.filter(user=request.user)
Run Code Online (Sandbox Code Playgroud)

我明白了:

"请求"未定义

......显然.然后,如果我这样做:

def get_context_data(self, **kwargs):
    queryset = Activity.objects.filter(owner=self.request.user)

    context = super(ActivityListView, self).get_context_data(**kwargs)
    context["activities"] = queryset

    return context
Run Code Online (Sandbox Code Playgroud)

我明白了:

不正确配置的"ActivityListVew"必须定义"queryset"或"model",

我明白了 我想知道哪个是解决这个问题的最佳方法?

Dan*_*man 5

您应该定义get_queryset方法