Commit de4604be by Jens Alm

Support for request-based queryset limits on ListModelMixin

ListModelMixin uses the get_queryset from the MultipleObjectMixin. This
method can be overridden on the View class to return a different
queryset, but get_queryset doesn't accept a request parameter in. This
commit adds the limit_list hook to override if you want to limit the
queryset based on request-information such as the logged in user.
parent 36cc56bc
......@@ -32,8 +32,15 @@ class ListModelMixin(object):
"""
empty_error = u"Empty list and '%(class_name)s.allow_empty' is False."
def limit_list(self, request, queryset):
"""
Override this method to limit the queryset based on information in the request, such as the logged in user.
Should return the limited queryset, defaults to no limits.
"""
return queryset
def list(self, request, *args, **kwargs):
self.object_list = self.get_queryset()
self.object_list = self.limit_list(request, self.get_queryset())
# Default is to allow empty querysets. This can be altered by setting
# `.allow_empty = False`, to raise 404 errors on empty querysets.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment