djangodocs.org

766 sections in Django dev Search all versions →

Isolation level

Reference Databases MySQL notesConnecting to the database

When running concurrent loads, database transactions from different sessions (say, separate threads handling different requests) may interact with each other. These interactions are affected by each session’s transaction isolation level.

TextField limitations

Reference Databases Oracle notes

LOB columns may not be used in a SELECT DISTINCT list. This means that attempting to use the QuerySet.distinct method on a model that includes TextField columns will result in an ORA-00932 error when run against Oracle.

Raw SQL expressions

Reference Query Expressions Built-in Expressions

classRawSQL(sql,params,output_field=None)[source] Sometimes database expressions can’t easily express a complex WHERE clause. In these edge cases, use the RawSQL expression.

Window functions

Reference Query Expressions Built-in Expressions

You can specify multiple windows in the same query which in Django ORM would be equivalent to including multiple expressions in a QuerySet.annotate() call. The ORM doesn’t make use of named windows, instead they are part of the selected columns.

Expression API

Reference Query Expressions Technical Information

Query expressions implement the query expression API, but also expose a number of extra methods and attributes listed below. All query expressions must inherit from Expression() or a relevant subclass.

DateField

Reference Model field reference Field types

classDateField(auto_now=False,auto_now_add=False,**options)[source] A date, represented in Python by a datetime.date instance. Has a few extra, optional arguments: DateField.auto_now : Automatically set the field to now every time the object is saved. Useful for “last-modified” timestamps.

Field API reference

Reference Model field reference

classField[source] : Field is an abstract class that represents a database table column. Django uses fields to create the database table (db_type()), to map Python types to database (get_prep_value()) and vice-versa (from_db_value()).

Models

Reference

Model field reference Field attribute reference Model index reference Constraints reference Model _meta API Related objects reference Model class reference Model Meta options Model instance reference QuerySet API reference Lookup API reference Query Expressions Conditional Expressions Database Functions

Model instance reference

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.

Deleting objects

Reference Model instance reference

Otherwise, for database variants such as DB_CASCADE, the return value will report only instances of the QuerySet’s model. For more details, including how to delete objects in bulk, see Deleting objects.

_state

Reference Model instance reference Other attributes

Model._state : The _state attribute refers to a ModelState object that tracks the lifecycle of the model instance.

get_latest_by

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.

Paginator class

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.

Attributes

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.