EXTRACTED from the Django document
It's a common need to filter down the objects given in a list page by some key in the URL. Handily, the ListView
has a get_queryset()
method we can override. Previously, it has just been returning the value of the queryset
attribute, but now we can add more logic.
The key part to making this work is that when class-based views are called, various useful things are stored on self
; as well as the request (self.request) this includes the positional (self.args
: a list) and name-based (self.kwargs
: a dictionary) arguments captured according to the URLconf. You can use self.request.user
to filter using the current user.