Internals
Organization of the Django Project
Steering council
The steering council selects Releasers as necessary to maintain their number at a minimum of three, in order to spread the workload and avoid over-burdening or burning out any individual Releaser.
Reference
GeoDjango Installation
Platform-specific instructionsWindows
The OSGeo4W installer helps to install the PROJ, GDAL, and GEOS libraries required by GeoDjango. First, download the OSGeo4W installer, and run it. Select Express Web-GIS Install and click next. In the ‘Select Packages’ list, ensure that GDAL is selected.
Reference
GeoDjango Tutorial
Spatial Queries
When doing spatial queries, GeoDjango automatically transforms geometries if they’re in a different coordinate system.
Reference
The messages framework
Configuring the message engine
The messages framework can use different backends to store temporary messages. Django provides three built-in storage classes in django.contrib.messages: classstorage.session.SessionStorage : This class stores all messages inside of the request’s session. Therefore it requires Django’s contrib.sessions application.
Reference
Databases
Oracle notes
By default, the Oracle backend uses a RETURNING INTO clause to efficiently retrieve the value of an AutoField when inserting new rows.
Reference
django-admin and manage.py
Extra nicetiesSyntax coloring
The colors used for syntax highlighting can be customized. Django ships with three color palettes: dark, suited to terminals that show white text on a black background. This is the default palette.
Reference
Form fields
Built-in Field classes
classNullBooleanField(**kwargs)[source] : - Default widget: NullBooleanSelect - Empty value: None - Normalizes to: A Python True, False or None value. - Validates nothing (i.e., it never raises a ValidationError).
Reference
Form fields
Two fields are available for representing relationships between models: ModelChoiceField and ModelMultipleChoiceField. Both of these fields require a single queryset parameter that is used to create the choices for the field.
Reference
Form fields
Fields which handle relationships
By default, ModelChoiceField and ModelMultipleChoiceField use ModelChoiceIterator to generate their field choices. When iterated, ModelChoiceIterator yields 2-tuple choices containing ModelChoiceIteratorValue instances as the first value element in each choice.
Reference
Widgets
Built-in widgets
These widgets make use of the HTML elements <select>, <input type="checkbox">, and <input type="radio">. Widgets that render multiple choices have an option_template_name attribute that specifies the template used to render each choice.
Reference
Query Expressions
Built-in Expressions
Func() expressions are the base type of all expressions that involve database functions like COALESCE and LOWER, or aggregates like SUM.
Reference
Query Expressions
Built-in Expressions
classSubquery(queryset,output_field=None)[source] You can add an explicit subquery to a QuerySet using the Subquery expression.
Reference
Query Expressions
Built-in ExpressionsSubquery() expressions
classExists(queryset)[source] Exists is a Subquery subclass that uses an SQL EXISTS statement. In many cases it will perform better than a subquery since the database is able to stop evaluation of the subquery when a first matching row is found.
Reference
Query Expressions
Built-in ExpressionsSubquery() expressions
Subquery() that returns a boolean value and Exists() may be used as a condition in When expressions, or to directly filter a queryset: This will ensure that the subquery will not be added to the SELECT columns, which may result …
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.
Reference
Model field reference
Field options
Field.choices[source] A mapping or iterable in the format described below to use as choices for this field.
Reference
QuerySet API reference
QuerySet APIMethods that return new QuerySets
exclude(*args,**kwargs) Returns a new QuerySet containing objects that do not match the given lookup parameters. The lookup parameters (**kwargs) should be in the format described in Field lookups below.
Reference
QuerySet API reference
QuerySet APIMethods that return new QuerySets
NOTE: Due to the way the JSON_EXTRACT and JSON_TYPE SQL functions are > implemented on SQLite, and lack of the BOOLEAN data type, > values() will return True, False, and None instead of > "true", "false", and "null" strings for …
Reference
QuerySet API reference
QuerySet APIMethods that return new QuerySets
union(*other_qs,all=False) Uses SQL’s UNION operator to combine the results of two or more QuerySets. For example: The UNION operator selects only distinct values by default. To allow duplicate values, use the all=True argument.
Reference
QuerySet API reference
QuerySet APIMethods that do not return QuerySets
latest(*fields) alatest(*fields) Asynchronous version: alatest() Returns the latest object in the table based on the given field(s).