'Get the list of items for this view.
This must be an iterable, and may be a queryset.
Defaults to using `self.queryset`.
This method should always be used rather than accessing `self.queryset`
directly, as `self.queryset` gets evaluated only once, and those results
are cached for all subsequent requests.
You may want to override this if you need to provide different
querysets depending on the incoming request.
(Eg. return a list of items that is specific to the user)'

def get_queryset(self):

    assert (self.queryset is not None), (u"'%s'    should    either    include    a    `queryset`    attribute,    or    override    the    `get_queryset()`    method." % self.__class__.__name__)
    queryset = self.queryset
    if isinstance(queryset, QuerySet):
        queryset = queryset.all()
    return queryset
