Reference
Class-based generic views - flattened index
Date-based views
Methods as_view() dispatch() get() get_context_data() get_date_list() get_dated_items() get_dated_queryset() get_next_day() get_next_month() get_paginator() get_previous_day() get_previous_month() head() http_method_not_allowed() paginate_queryset() render_to_response() setup()
Reference
Generic date views
classArchiveIndexView : A top-level index page showing the “latest” objects, by date. Objects with a date in the future are not included unless you set allow_future to True.
Reference
Generic date views
classYearArchiveView : A yearly archive page showing all available months in a given year. Objects with a date in the future are not displayed unless you set allow_future to True.
Reference
Generic date views
classMonthArchiveView : A monthly archive page showing all objects in a given month. Objects with a date in the future are not displayed unless you set allow_future to True.
Reference
Generic date views
classTodayArchiveView : A day archive page showing all objects for today. This is exactly the same as django.views.generic.dates.DayArchiveView, except today’s date is used instead of the year/month/day arguments.
Reference
Generic display views
classdjango.views.generic.detail.DetailView : While this view is executing, self.object will contain the object that the view is operating upon. classdjango.views.generic.detail.BaseDetailView : A base view for displaying a single object.
Reference
Built-in class-based views API
Most generic views require the queryset key, which is a QuerySet instance; see Making queries for more information about QuerySet objects.
Reference
Editing mixins
classdjango.views.generic.edit.ModelFormMixin : A form mixin that works on ModelForms, rather than a standalone form.
Reference
Multiple object mixins
`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).
Reference
Multiple object mixins
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_list may be, but is not required to be, a QuerySet.
Reference
Single object mixins
If [`context_object_name`](#django.views.generic.detail.SingleObjectMixin.context_object_name) is not set, the context name will be constructed from the `model_name` of the model that the queryset is composed from. For example, the model `Article` would have context object named `'article'`.
Reference
For example, here’s the user module from Django’s built-in django.contrib.auth app: WARNING: The “delete selected objects” action uses QuerySet.delete() for efficiency reasons, which > has an important caveat: your model’s delete() method will not be > called.
Reference
Admin actions
Writing actions
Action functions are regular functions that take three arguments: The current ModelAdmin An HttpRequest representing the current request, A QuerySet containing the set of objects selected by the user.
Reference
Admin actions
Writing actions
Next, we’ll need to inform our ModelAdmin of the action. This works just like any other configuration option.
Reference
Admin actions
Advanced action techniques
The example above shows the make_published action defined as a function.
Reference
Admin actions
Advanced action techniques
By default, after an action is performed the user is redirected back to the original change list page. However, some actions, especially more complex ones, will need to return intermediate pages.
Reference
The Django admin site
ModelAdmin objects
ModelAdmin.raw_id_fields : By default, Django’s admin uses a select-box interface (<select>) for fields that are ForeignKey. Sometimes you don’t want to incur the overhead of having to select all the related instances to display in the drop-down.
Reference
The Django admin site
ModelAdmin objects
ModelAdmin.formfield_for_foreignkey(db_field,request,**kwargs) : The formfield_for_foreignkey method on a ModelAdmin allows you to override the default formfield for a foreign keys field.
Reference
The Django admin site
InlineModelAdmin objects
The shared features are: form fieldsets fields formfield_overrides exclude filter_horizontal filter_vertical ordering prepopulated_fields get_fieldsets() get_queryset() radio_fields readonly_fields raw_id_fields formfield_for_choice_field() formfield_for_foreignkey() formfield_for_manytomany() has_module_permission() The InlineModelAdmin class adds or customizes: InlineModelAdmin.model : The model which the inline is using. This is required.
Reference
The Django admin site
AdminSite objects
AdminSite.unregister(model_or_iterable) : Unregisters the given model class (or iterable of classes). AdminSite.get_model_admin(model) : > New in Django 5.0. AdminSite.get_log_entries(request) : > New in Django 5.0.