Reference
This document describes the details of the Model API. It builds on the material presented in the model and database query guides, so you’ll probably want to read and understand those documents before reading this one.
743 sections in Django 6.0 Search all versions →
Reference
This document describes the details of the Model API. It builds on the material presented in the model and database query guides, so you’ll probably want to read and understand those documents before reading this one.
Reference Model instance reference Saving objects
If save() is passed a list of field names in keyword argument update_fields, only the fields named in that list will be updated.
Reference Model instance reference Other attributes
Model._state : The _state attribute refers to a ModelState object that tracks the lifecycle of the model instance.
Reference Lookup API reference
classLookup[source] : A Lookup is a generic class to implement lookups.
Reference Model Meta options Available Meta options
Options.get_latest_by : The name of a field or a list of field names in the model, typically DateField, DateTimeField, or IntegerField. This specifies the default field(s) to use in your model Manager’s latest() and earliest() methods.
Reference
classRelatedManager : A “related manager” is a manager used in a one-to-many or many-to-many related context. This happens in two cases:
Reference
Using `remove()` with a many-to-many relationship, however, will delete the relationships using [`QuerySet.delete()`](querysets.md#django.db.models.query.QuerySet.delete) which means no model `save()` methods are called; listen to the [`m2m_changed`](../signals.md#django.db.models.signals.m2m_changed) signal if you wish to execute custom code when a relationship is deleted.
Reference Paginator
Paginator.object_list : Required. A list, tuple, QuerySet, or other sliceable object with a count() or __len__() method. For consistent pagination, QuerySets should be ordered, e.g. with an order_by() clause or with a default ordering on the model. Paginator.per_page : Required.
Reference Paginator Page class
Paginator.ELLIPSIS : A translatable string used as a substitute for elided page numbers in the page range returned by get_elided_page_range(). Default is '…'. Paginator.count[source] : The total number of objects, across all pages. Paginator.num_pages[source] : The total number of pages.
Reference Signals Model signals
WARNING: For performance reasons, you shouldn’t perform queries in receivers of > pre_init or post_init signals because they would be executed for > each instance returned during queryset iteration.
Reference TemplateResponse and SimpleTemplateResponse
It can also be used as an alternative to calling render(). For example, the following view returns a TemplateResponse with a template and a context containing a queryset:
Reference Built-in template tags and filters Built-in tag referenceifBoolean operators
Contained within. This operator is supported by many Python containers to test whether the given value is in the container. The following are some examples of how x in y will be interpreted:
Topic guide Built-in class-based generic views Generic views of objects
Well, if you’re dealing with a model object, this is already done for you. When you are dealing with an object or queryset, Django is able to populate the context using the lowercased version of the model class’ name.
Topic guide Built-in class-based generic views Generic views of objects
Often you need to present some extra information beyond that provided by the generic view. For example, think of showing a list of all the books on each publisher detail page.
Topic guide Built-in class-based generic views Generic views of objects
… specify the objects that the view will operate upon – you can also specify the list of objects using the queryset argument: Specifying model = Publisher is shorthand for saying queryset = Publisher.objects.all(). However, by using queryset to define a …
Topic guide Built-in class-based generic views Generic views of objects
Handily, the ListView has a get_queryset() method we can override. By default, it returns the value of the queryset attribute, but we can use it to add more logic.
Topic guide Built-in class-based generic views Generic views of objects
… is the default > name that DetailView uses to find the value of the primary key used to > filter the queryset. If you want to call the group something else, you can set > pk_url_kwarg > on the view.
Topic guide Form handling with class-based views
If a queryset is given, the model for that queryset will be used. Model form views provide a form_valid() implementation that saves the model automatically. You can override this if you have any special requirements; see below for examples.
Topic guide Class-based views Subclassing generic views
Suppose somebody wants to access our book library over HTTP using the views as an API. The API client would connect every now and then and download book data for the books published since last visit.
Topic guide Using mixins with class-based views
We’ll consider DetailView, which renders a “detail” view of an object, and ListView, which will render a list of objects, typically from a queryset, and optionally paginate them.