Multiple object mixins¶
MultipleObjectMixin¶
- class django.views.generic.list.MultipleObjectMixin¶
- A mixin that can be used to display a list of objects. - If - paginate_byis specified, Django will paginate the results returned by this. You can specify the page number in the URL in one of two ways:- Use the - pageparameter in the URLconf. For example, this is what your URLconf might look like:- path("objects/page<int:page>/", PaginatedView.as_view()), 
- Pass the page number via the - pagequery-string parameter. For example, a URL would look like this:- /objects/?page=3 
 - These values and lists are 1-based, not 0-based, so the first page would be represented as page - 1.- For more on pagination, read the pagination documentation. - As a special case, you are also permitted to use - lastas a value for- page:- /objects/?page=last - This allows you to access the final page of results without first having to determine how many pages there are. - Note that - pagemust be either a valid page number or the value- last; any other value for- pagewill result in a 404 error.- Extends - Methods and Attributes - allow_empty¶
- A boolean specifying whether to display the page if no objects are available. If this is - Falseand no objects are available, the view will raise a 404 instead of displaying an empty page. By default, this is- True.
 - model¶
- The model that this view will display data for. Specifying - model = Foois effectively the same as specifying- queryset = Foo.objects.all(), where- objectsstands for- Foo’s default manager.
 - queryset¶
- A - QuerySetthat represents the objects. If provided, the value of- querysetsupersedes the value provided for- model.- Warning - querysetis a class attribute with a mutable value so care must be taken when using it directly. Before using it, either call its- all()method or retrieve it with- get_queryset()which takes care of the cloning behind the scenes.
 - ordering¶
- A string or list of strings specifying the ordering to apply to the - queryset. Valid values are the same as those for- order_by().
 - paginate_by¶
- An integer specifying how many objects should be displayed per page. If this is given, the view will paginate objects with - paginate_byobjects per page. The view will expect either a- pagequery string parameter (via- request.GET) or a- pagevariable specified in the URLconf.
 - paginate_orphans¶
- An integer specifying the number of “overflow” objects the last page can contain. This extends the - paginate_bylimit on the last page by up to- paginate_orphans, in order to keep the last page from having a very small number of objects.
 - page_kwarg¶
- A string specifying the name to use for the page parameter. The view will expect this parameter to be available either as a query string parameter (via - request.GET) or as a kwarg variable specified in the URLconf. Defaults to- page.
 - paginator_class¶
- The paginator class to be used for pagination. By default, - django.core.paginator.Paginatoris used. If the custom paginator class doesn’t have the same constructor interface as- django.core.paginator.Paginator, you will also need to provide an implementation for- get_paginator().
 - context_object_name¶
- Designates the name of the variable to use in the context. 
 - get_queryset()¶
- Get the list of items for this view. This must be an iterable and may be a queryset (in which queryset-specific behavior will be enabled). 
 - get_ordering()¶
- Returns a string (or iterable of strings) that defines the ordering that will be applied to the - queryset.- Returns - orderingby default.
 - paginate_queryset(queryset, page_size)¶
- Returns a 4-tuple containing ( - paginator,- page,- object_list,- is_paginated).- Constructed by paginating - querysetinto pages of size- page_size. If the request contains a- pageargument, either as a captured URL argument or as a GET argument,- object_listwill correspond to the objects from that page.
 - get_paginate_by(queryset)¶
- Returns the number of items to paginate by, or - Nonefor no pagination. By default this returns the value of- paginate_by.
 - get_paginator(queryset, per_page, orphans=0, allow_empty_first_page=True)¶
- Returns an instance of the paginator to use for this view. By default, instantiates an instance of - paginator_class.
 - get_paginate_orphans()¶
- An integer specifying the number of “overflow” objects the last page can contain. By default this returns the value of - paginate_orphans.
 - get_allow_empty()¶
- Return a boolean specifying whether to display the page if no objects are available. If this method returns - Falseand no objects are available, the view will raise a 404 instead of displaying an empty page. By default, this is- True.
 - get_context_object_name(object_list)¶
- Return the context variable name that will be used to contain the list of data that this view is manipulating. If - object_listis a queryset of Django objects and- context_object_nameis not set, the context name will be the- model_nameof the model that the queryset is composed from, with postfix- '_list'appended. For example, the model- Articlewould have a context object named- article_list.
 - get_context_data(**kwargs)¶
- Returns context data for displaying the list of objects. 
 - Context - object_list: The list of objects that this view is displaying. If- context_object_nameis specified, that variable will also be set in the context, with the same value as- object_list.
- is_paginated: A boolean representing whether the results are paginated. Specifically, this is set to- Falseif no page size has been specified, or if the available objects do not span multiple pages.
- paginator: An instance of- django.core.paginator.Paginator. If the page is not paginated, this context variable will be- None.
- page_obj: An instance of- django.core.paginator.Page. If the page is not paginated, this context variable will be- None.
 
MultipleObjectTemplateResponseMixin¶
- class django.views.generic.list.MultipleObjectTemplateResponseMixin¶
- A mixin class that performs template-based response rendering for views that operate upon a list of object instances. Requires that the view it is mixed with provides - self.object_list, the list of object instances that the view is operating on.- self.object_listmay be, but is not required to be, a- QuerySet.- Extends - Methods and Attributes - template_name_suffix¶
- The suffix to append to the auto-generated candidate template name. Default suffix is - _list.
 - get_template_names()¶
- Returns a list of candidate template names. Returns the following list: - the value of - template_nameon the view (if provided)
- <app_label>/<model_name><template_name_suffix>.html
 
 
 
          