Removed versionadded/changed annotations for 1.10.
This commit is contained in:
parent
401c5b2e42
commit
e27e4c0339
|
@ -75,10 +75,6 @@ regardless of ``AUTHENTICATION_BACKENDS``.
|
||||||
:class:`~django.contrib.auth.backends.AllowAllUsersRemoteUserBackend` if
|
:class:`~django.contrib.auth.backends.AllowAllUsersRemoteUserBackend` if
|
||||||
you want to allow them to.
|
you want to allow them to.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In older versions, inactive users weren't rejected as described above.
|
|
||||||
|
|
||||||
If your authentication mechanism uses a custom HTTP header and not
|
If your authentication mechanism uses a custom HTTP header and not
|
||||||
``REMOTE_USER``, you can subclass ``RemoteUserMiddleware`` and set the
|
``REMOTE_USER``, you can subclass ``RemoteUserMiddleware`` and set the
|
||||||
``header`` attribute to the desired ``request.META`` key. For example::
|
``header`` attribute to the desired ``request.META`` key. For example::
|
||||||
|
|
|
@ -227,8 +227,6 @@ All attributes can be set in your derived class and can be used in
|
||||||
|
|
||||||
.. attribute:: BaseCommand.requires_migrations_checks
|
.. attribute:: BaseCommand.requires_migrations_checks
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
A boolean; if ``True``, the command prints a warning if the set of
|
A boolean; if ``True``, the command prints a warning if the set of
|
||||||
migrations on disk don't match the migrations in the database. A warning
|
migrations on disk don't match the migrations in the database. A warning
|
||||||
doesn't prevent the command from executing. Default value is ``False``.
|
doesn't prevent the command from executing. Default value is ``False``.
|
||||||
|
|
|
@ -464,10 +464,6 @@ need the foreign keys that point to that field to use the same data type::
|
||||||
def rel_db_type(self, connection):
|
def rel_db_type(self, connection):
|
||||||
return 'integer UNSIGNED'
|
return 'integer UNSIGNED'
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
The :meth:`~Field.rel_db_type` method was added.
|
|
||||||
|
|
||||||
.. _converting-values-to-python-objects:
|
.. _converting-values-to-python-objects:
|
||||||
|
|
||||||
Converting values to Python objects
|
Converting values to Python objects
|
||||||
|
|
|
@ -189,8 +189,6 @@ the respective field according to your needs.
|
||||||
Non-atomic migrations
|
Non-atomic migrations
|
||||||
~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
On databases that support DDL transactions (SQLite and PostgreSQL), migrations
|
On databases that support DDL transactions (SQLite and PostgreSQL), migrations
|
||||||
will run inside a transaction by default. For use cases such as performing data
|
will run inside a transaction by default. For use cases such as performing data
|
||||||
migrations on large tables, you may want to prevent a migration from running in
|
migrations on large tables, you may want to prevent a migration from running in
|
||||||
|
|
|
@ -428,8 +428,6 @@ a temporary ``Apps`` instance::
|
||||||
|
|
||||||
.. function:: django.test.utils.isolate_apps(*app_labels, attr_name=None, kwarg_name=None)
|
.. function:: django.test.utils.isolate_apps(*app_labels, attr_name=None, kwarg_name=None)
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Since this pattern involves a lot of boilerplate, Django provides the
|
Since this pattern involves a lot of boilerplate, Django provides the
|
||||||
:func:`~django.test.utils.isolate_apps` decorator. It's used like this::
|
:func:`~django.test.utils.isolate_apps` decorator. It's used like this::
|
||||||
|
|
||||||
|
|
|
@ -401,10 +401,6 @@ application registry.
|
||||||
:setting:`FORCE_SCRIPT_NAME` if defined, or ``/`` otherwise.
|
:setting:`FORCE_SCRIPT_NAME` if defined, or ``/`` otherwise.
|
||||||
* Initializing the application registry.
|
* Initializing the application registry.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
The ability to set the URL resolver script prefix is new.
|
|
||||||
|
|
||||||
This function is called automatically:
|
This function is called automatically:
|
||||||
|
|
||||||
* When running an HTTP server via Django's WSGI support.
|
* When running an HTTP server via Django's WSGI support.
|
||||||
|
|
|
@ -22,10 +22,6 @@ MRO is an acronym for Method Resolution Order.
|
||||||
this base class. It isn't strictly a generic view and thus can also be
|
this base class. It isn't strictly a generic view and thus can also be
|
||||||
imported from ``django.views``.
|
imported from ``django.views``.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
The ability to import from ``django.views`` was added.
|
|
||||||
|
|
||||||
**Method Flowchart**
|
**Method Flowchart**
|
||||||
|
|
||||||
1. :meth:`dispatch()`
|
1. :meth:`dispatch()`
|
||||||
|
|
|
@ -1151,8 +1151,6 @@ subclass::
|
||||||
|
|
||||||
.. attribute:: ModelAdmin.save_as_continue
|
.. attribute:: ModelAdmin.save_as_continue
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
When :attr:`save_as=True <save_as>`, the default redirect after saving the
|
When :attr:`save_as=True <save_as>`, the default redirect after saving the
|
||||||
new object is to the change view for that object. If you set
|
new object is to the change view for that object. If you set
|
||||||
``save_as_continue=False``, the redirect will be to the changelist view.
|
``save_as_continue=False``, the redirect will be to the changelist view.
|
||||||
|
@ -1950,10 +1948,6 @@ To avoid conflicts with user-supplied scripts or libraries, Django's jQuery
|
||||||
in your own admin JavaScript without including a second copy, you can use the
|
in your own admin JavaScript without including a second copy, you can use the
|
||||||
``django.jQuery`` object on changelist and add/edit views.
|
``django.jQuery`` object on changelist and add/edit views.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
The embedded jQuery was upgraded from 2.1.4 to 2.2.3.
|
|
||||||
|
|
||||||
The :class:`ModelAdmin` class requires jQuery by default, so there is no need
|
The :class:`ModelAdmin` class requires jQuery by default, so there is no need
|
||||||
to add jQuery to your ``ModelAdmin``’s list of media resources unless you have
|
to add jQuery to your ``ModelAdmin``’s list of media resources unless you have
|
||||||
a specific need. For example, if you require the jQuery library to be in the
|
a specific need. For example, if you require the jQuery library to be in the
|
||||||
|
@ -2100,8 +2094,6 @@ The ``InlineModelAdmin`` class adds:
|
||||||
|
|
||||||
.. attribute:: InlineModelAdmin.classes
|
.. attribute:: InlineModelAdmin.classes
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
A list or tuple containing extra CSS classes to apply to the fieldset that
|
A list or tuple containing extra CSS classes to apply to the fieldset that
|
||||||
is rendered for the inlines. Defaults to ``None``. As with classes
|
is rendered for the inlines. Defaults to ``None``. As with classes
|
||||||
configured in :attr:`~ModelAdmin.fieldsets`, inlines with a ``collapse``
|
configured in :attr:`~ModelAdmin.fieldsets`, inlines with a ``collapse``
|
||||||
|
@ -2588,11 +2580,6 @@ Templates can override or extend base admin templates as described in
|
||||||
the current request has ``request.META['SCRIPT_NAME']`` set and uses that
|
the current request has ``request.META['SCRIPT_NAME']`` set and uses that
|
||||||
value if ``site_url`` isn't set to something other than ``/``.
|
value if ``site_url`` isn't set to something other than ``/``.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
The ``SCRIPT_NAME`` support described in the previous paragraph was
|
|
||||||
added.
|
|
||||||
|
|
||||||
.. attribute:: AdminSite.index_title
|
.. attribute:: AdminSite.index_title
|
||||||
|
|
||||||
The text to put at the top of the admin index page (a string). By default,
|
The text to put at the top of the admin index page (a string). By default,
|
||||||
|
@ -2892,12 +2879,6 @@ password box.
|
||||||
advised to use the :meth:`get_change_message` method to retrieve this value
|
advised to use the :meth:`get_change_message` method to retrieve this value
|
||||||
instead of accessing it directly.
|
instead of accessing it directly.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
Previously, this attribute was always a plain string. It is
|
|
||||||
now JSON-structured so that the message can be translated in the current
|
|
||||||
user language. Old messages are untouched.
|
|
||||||
|
|
||||||
``LogEntry`` methods
|
``LogEntry`` methods
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
|
@ -2907,8 +2888,6 @@ password box.
|
||||||
|
|
||||||
.. method:: LogEntry.get_change_message()
|
.. method:: LogEntry.get_change_message()
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Formats and translates :attr:`change_message` into the current user
|
Formats and translates :attr:`change_message` into the current user
|
||||||
language. Messages created before Django 1.10 will always be displayed in
|
language. Messages created before Django 1.10 will always be displayed in
|
||||||
the language in which they were logged.
|
the language in which they were logged.
|
||||||
|
|
|
@ -41,10 +41,6 @@ Fields
|
||||||
on Python 2, with the option to customize the behavior using
|
on Python 2, with the option to customize the behavior using
|
||||||
:attr:`.User.username_validator`.
|
:attr:`.User.username_validator`.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
The ``max_length`` increased from 30 to 150 characters.
|
|
||||||
|
|
||||||
.. attribute:: first_name
|
.. attribute:: first_name
|
||||||
|
|
||||||
Optional. 30 characters or fewer.
|
Optional. 30 characters or fewer.
|
||||||
|
@ -99,13 +95,6 @@ Fields
|
||||||
authentication in the Django admin all return ``False`` for inactive
|
authentication in the Django admin all return ``False`` for inactive
|
||||||
users.
|
users.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In older versions,
|
|
||||||
:class:`~django.contrib.auth.backends.ModelBackend` and
|
|
||||||
:class:`~django.contrib.auth.backends.RemoteUserBackend` allowed
|
|
||||||
inactive users to authenticate.
|
|
||||||
|
|
||||||
.. attribute:: is_superuser
|
.. attribute:: is_superuser
|
||||||
|
|
||||||
Boolean. Designates that this user has all permissions without
|
Boolean. Designates that this user has all permissions without
|
||||||
|
@ -147,8 +136,6 @@ Attributes
|
||||||
|
|
||||||
.. attribute:: username_validator
|
.. attribute:: username_validator
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Points to a validator instance used to validate usernames. Defaults to
|
Points to a validator instance used to validate usernames. Defaults to
|
||||||
:class:`validators.UnicodeUsernameValidator` on Python 3 and
|
:class:`validators.UnicodeUsernameValidator` on Python 3 and
|
||||||
:class:`validators.ASCIIUsernameValidator` on Python 2.
|
:class:`validators.ASCIIUsernameValidator` on Python 2.
|
||||||
|
@ -402,16 +389,12 @@ Validators
|
||||||
|
|
||||||
.. class:: validators.ASCIIUsernameValidator
|
.. class:: validators.ASCIIUsernameValidator
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
A field validator allowing only ASCII letters, in addition to ``@``, ``.``,
|
A field validator allowing only ASCII letters, in addition to ``@``, ``.``,
|
||||||
``+``, ``-``, and ``_``. The default validator for ``User.username`` on
|
``+``, ``-``, and ``_``. The default validator for ``User.username`` on
|
||||||
Python 2.
|
Python 2.
|
||||||
|
|
||||||
.. class:: validators.UnicodeUsernameValidator
|
.. class:: validators.UnicodeUsernameValidator
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
A field validator allowing Unicode letters, in addition to ``@``, ``.``,
|
A field validator allowing Unicode letters, in addition to ``@``, ``.``,
|
||||||
``+``, ``-``, and ``_``. The default validator for ``User.username`` on
|
``+``, ``-``, and ``_``. The default validator for ``User.username`` on
|
||||||
Python 3.
|
Python 3.
|
||||||
|
@ -568,8 +551,6 @@ The following backends are available in :mod:`django.contrib.auth.backends`:
|
||||||
|
|
||||||
.. method:: ModelBackend.user_can_authenticate()
|
.. method:: ModelBackend.user_can_authenticate()
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Returns whether the user is allowed to authenticate. To match the
|
Returns whether the user is allowed to authenticate. To match the
|
||||||
behavior of :class:`~django.contrib.auth.forms.AuthenticationForm`
|
behavior of :class:`~django.contrib.auth.forms.AuthenticationForm`
|
||||||
which :meth:`prohibits inactive users from logging in
|
which :meth:`prohibits inactive users from logging in
|
||||||
|
@ -581,8 +562,6 @@ The following backends are available in :mod:`django.contrib.auth.backends`:
|
||||||
|
|
||||||
.. class:: AllowAllUsersModelBackend
|
.. class:: AllowAllUsersModelBackend
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Same as :class:`ModelBackend` except that it doesn't reject inactive users
|
Same as :class:`ModelBackend` except that it doesn't reject inactive users
|
||||||
because :meth:`~ModelBackend.user_can_authenticate` always returns ``True``.
|
because :meth:`~ModelBackend.user_can_authenticate` always returns ``True``.
|
||||||
|
|
||||||
|
@ -637,8 +616,6 @@ The following backends are available in :mod:`django.contrib.auth.backends`:
|
||||||
|
|
||||||
.. method:: RemoteUserBackend.user_can_authenticate()
|
.. method:: RemoteUserBackend.user_can_authenticate()
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Returns whether the user is allowed to authenticate. This method returns
|
Returns whether the user is allowed to authenticate. This method returns
|
||||||
``False`` for users with :attr:`is_active=False
|
``False`` for users with :attr:`is_active=False
|
||||||
<django.contrib.auth.models.User.is_active>`. Custom user models that don't
|
<django.contrib.auth.models.User.is_active>`. Custom user models that don't
|
||||||
|
@ -647,8 +624,6 @@ The following backends are available in :mod:`django.contrib.auth.backends`:
|
||||||
|
|
||||||
.. class:: AllowAllUsersRemoteUserBackend
|
.. class:: AllowAllUsersRemoteUserBackend
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Same as :class:`RemoteUserBackend` except that it doesn't reject inactive
|
Same as :class:`RemoteUserBackend` except that it doesn't reject inactive
|
||||||
users because :attr:`~RemoteUserBackend.user_can_authenticate` always
|
users because :attr:`~RemoteUserBackend.user_can_authenticate` always
|
||||||
returns ``True``.
|
returns ``True``.
|
||||||
|
|
|
@ -56,10 +56,6 @@ Raster Support
|
||||||
lookups are available for raster fields, but spatial database functions and
|
lookups are available for raster fields, but spatial database functions and
|
||||||
aggregates aren't implemented for raster fields.
|
aggregates aren't implemented for raster fields.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
``RasterField`` now supports spatial lookups.
|
|
||||||
|
|
||||||
Creating and Saving Models with Geometry Fields
|
Creating and Saving Models with Geometry Fields
|
||||||
===============================================
|
===============================================
|
||||||
|
|
||||||
|
@ -173,8 +169,6 @@ GeoJSON , WKT, or HEXEWKB), and ``rst`` is a
|
||||||
Raster Lookups
|
Raster Lookups
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
The raster lookup syntax is similar to the syntax for geometries. The only
|
The raster lookup syntax is similar to the syntax for geometries. The only
|
||||||
difference is that a band index can be specified as additional input. If no band
|
difference is that a band index can be specified as additional input. If no band
|
||||||
index is specified, the first band is used by default (index ``0``). In that
|
index is specified, the first band is used by default (index ``0``). In that
|
||||||
|
|
|
@ -202,10 +202,6 @@ Accepts two geographic fields or expressions and returns the geometric
|
||||||
difference, that is the part of geometry A that does not intersect with
|
difference, that is the part of geometry A that does not intersect with
|
||||||
geometry B.
|
geometry B.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
MySQL support was added.
|
|
||||||
|
|
||||||
``Distance``
|
``Distance``
|
||||||
============
|
============
|
||||||
|
|
||||||
|
@ -288,10 +284,6 @@ representation of the geometry.
|
||||||
The ``precision`` keyword argument controls the number of characters in the
|
The ``precision`` keyword argument controls the number of characters in the
|
||||||
result.
|
result.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
SpatiaLite support was added.
|
|
||||||
|
|
||||||
__ https://en.wikipedia.org/wiki/Geohash
|
__ https://en.wikipedia.org/wiki/Geohash
|
||||||
|
|
||||||
``Intersection``
|
``Intersection``
|
||||||
|
@ -304,17 +296,11 @@ __ https://en.wikipedia.org/wiki/Geohash
|
||||||
Accepts two geographic fields or expressions and returns the geometric
|
Accepts two geographic fields or expressions and returns the geometric
|
||||||
intersection between them.
|
intersection between them.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
MySQL support was added.
|
|
||||||
|
|
||||||
``IsValid``
|
``IsValid``
|
||||||
===========
|
===========
|
||||||
|
|
||||||
.. class:: IsValid(expr)
|
.. class:: IsValid(expr)
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
*Availability*: PostGIS, Oracle, SpatiaLite (LWGEOM)
|
*Availability*: PostGIS, Oracle, SpatiaLite (LWGEOM)
|
||||||
|
|
||||||
Accepts a geographic field or expression and tests if the value is well formed.
|
Accepts a geographic field or expression and tests if the value is well formed.
|
||||||
|
@ -351,8 +337,6 @@ resource-intensive) with the ``spheroid`` keyword argument.
|
||||||
|
|
||||||
.. class:: MakeValid(expr)
|
.. class:: MakeValid(expr)
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
*Availability*: PostGIS, SpatiaLite (LWGEOM)
|
*Availability*: PostGIS, SpatiaLite (LWGEOM)
|
||||||
|
|
||||||
Accepts a geographic field or expression and attempts to convert the value into
|
Accepts a geographic field or expression and attempts to convert the value into
|
||||||
|
@ -469,10 +453,6 @@ Accepts two geographic fields or expressions and returns the geometric
|
||||||
symmetric difference (union without the intersection) between the given
|
symmetric difference (union without the intersection) between the given
|
||||||
parameters.
|
parameters.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
MySQL support was added.
|
|
||||||
|
|
||||||
``Transform``
|
``Transform``
|
||||||
=============
|
=============
|
||||||
|
|
||||||
|
|
|
@ -1215,8 +1215,6 @@ blue.
|
||||||
|
|
||||||
.. attribute:: srid
|
.. attribute:: srid
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
The Spatial Reference System Identifier (SRID) of the raster. This
|
The Spatial Reference System Identifier (SRID) of the raster. This
|
||||||
property is a shortcut to getting or setting the SRID through the
|
property is a shortcut to getting or setting the SRID through the
|
||||||
:attr:`srs` attribute.
|
:attr:`srs` attribute.
|
||||||
|
@ -1418,8 +1416,6 @@ blue.
|
||||||
|
|
||||||
.. method:: statistics(refresh=False, approximate=False)
|
.. method:: statistics(refresh=False, approximate=False)
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Compute statistics on the pixel values of this band. The return value
|
Compute statistics on the pixel values of this band. The return value
|
||||||
is a tuple with the following structure:
|
is a tuple with the following structure:
|
||||||
``(minimum, maximum, mean, standard deviation)``.
|
``(minimum, maximum, mean, standard deviation)``.
|
||||||
|
@ -1455,15 +1451,11 @@ blue.
|
||||||
|
|
||||||
.. attribute:: mean
|
.. attribute:: mean
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
The mean of all pixel values of the band (excluding the "no data"
|
The mean of all pixel values of the band (excluding the "no data"
|
||||||
value).
|
value).
|
||||||
|
|
||||||
.. attribute:: std
|
.. attribute:: std
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
The standard deviation of all pixel values of the band (excluding the
|
The standard deviation of all pixel values of the band (excluding the
|
||||||
"no data" value).
|
"no data" value).
|
||||||
|
|
||||||
|
@ -1476,11 +1468,6 @@ blue.
|
||||||
To delete an existing "no data" value, set this property to ``None``
|
To delete an existing "no data" value, set this property to ``None``
|
||||||
(requires GDAL ≥ 2.1).
|
(requires GDAL ≥ 2.1).
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
The "no data" value can now be deleted by setting the
|
|
||||||
``nodata_value`` attribute to ``None``.
|
|
||||||
|
|
||||||
.. method:: datatype(as_string=False)
|
.. method:: datatype(as_string=False)
|
||||||
|
|
||||||
The data type contained in the band, as an integer constant between 0
|
The data type contained in the band, as an integer constant between 0
|
||||||
|
@ -1550,11 +1537,6 @@ blue.
|
||||||
[2, 2, 2, 2],
|
[2, 2, 2, 2],
|
||||||
[3, 3, 3, 3]], dtype=uint8)
|
[3, 3, 3, 3]], dtype=uint8)
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
The ``shape`` parameter and the ability to replicate data input when
|
|
||||||
setting ``GDALBand`` data was added.
|
|
||||||
|
|
||||||
Settings
|
Settings
|
||||||
========
|
========
|
||||||
|
|
||||||
|
|
|
@ -17,10 +17,6 @@ For an introduction, see the :ref:`spatial lookups introduction
|
||||||
compatible with a particular spatial backend, refer to the
|
compatible with a particular spatial backend, refer to the
|
||||||
:ref:`spatial lookup compatibility table <spatial-lookup-compatibility>`.
|
:ref:`spatial lookup compatibility table <spatial-lookup-compatibility>`.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
Spatial lookups now support raster input.
|
|
||||||
|
|
||||||
Lookups with rasters
|
Lookups with rasters
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
|
@ -298,8 +294,6 @@ SpatiaLite ``Intersects(poly, geom)``
|
||||||
``isvalid``
|
``isvalid``
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
*Availability*: PostGIS
|
*Availability*: PostGIS
|
||||||
|
|
||||||
Tests if the geometry is valid.
|
Tests if the geometry is valid.
|
||||||
|
@ -603,10 +597,6 @@ of ``ST_Distance_Sphere``. The simpler ``ST_Distance`` function is used with
|
||||||
projected coordinate systems. Rasters are converted to geometries for spheroid
|
projected coordinate systems. Rasters are converted to geometries for spheroid
|
||||||
based lookups.
|
based lookups.
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
The ability to pass an expression as the distance value was added.
|
|
||||||
|
|
||||||
.. versionadded:: 1.11
|
.. versionadded:: 1.11
|
||||||
|
|
||||||
Support for the ``'spheroid'`` option on SQLite was added.
|
Support for the ``'spheroid'`` option on SQLite was added.
|
||||||
|
@ -797,10 +787,6 @@ Example::
|
||||||
Returns a ``LineString`` constructed from the point field geometries in the
|
Returns a ``LineString`` constructed from the point field geometries in the
|
||||||
``QuerySet``. Currently, ordering the queryset has no effect.
|
``QuerySet``. Currently, ordering the queryset has no effect.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
SpatiaLite support was added.
|
|
||||||
|
|
||||||
Example::
|
Example::
|
||||||
|
|
||||||
>>> qs = City.objects.filter(name__in=('Houston', 'Dallas')).aggregate(MakeLine('poly'))
|
>>> qs = City.objects.filter(name__in=('Houston', 'Dallas')).aggregate(MakeLine('poly'))
|
||||||
|
|
|
@ -379,10 +379,6 @@ another object.
|
||||||
|
|
||||||
Returns the Well-Known Text of the geometry (an OGC standard).
|
Returns the Well-Known Text of the geometry (an OGC standard).
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
Non-significant zeros are stripped from the output.
|
|
||||||
|
|
||||||
__ https://developers.google.com/kml/documentation/
|
__ https://developers.google.com/kml/documentation/
|
||||||
|
|
||||||
Spatial Predicate Methods
|
Spatial Predicate Methods
|
||||||
|
@ -399,8 +395,6 @@ return a boolean.
|
||||||
|
|
||||||
.. method:: GEOSGeometry.covers(other)
|
.. method:: GEOSGeometry.covers(other)
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Returns ``True`` if this geometry covers the specified geometry.
|
Returns ``True`` if this geometry covers the specified geometry.
|
||||||
|
|
||||||
The ``covers`` predicate has the following equivalent definitions:
|
The ``covers`` predicate has the following equivalent definitions:
|
||||||
|
@ -569,8 +563,6 @@ Topological Properties
|
||||||
|
|
||||||
.. attribute:: GEOSGeometry.unary_union
|
.. attribute:: GEOSGeometry.unary_union
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Computes the union of all the elements of this geometry.
|
Computes the union of all the elements of this geometry.
|
||||||
|
|
||||||
The result obeys the following contract:
|
The result obeys the following contract:
|
||||||
|
@ -646,12 +638,6 @@ Other Properties & Methods
|
||||||
doesn't impose any constraints on the geometry's SRID if called with a
|
doesn't impose any constraints on the geometry's SRID if called with a
|
||||||
:class:`~django.contrib.gis.gdal.CoordTransform` object.
|
:class:`~django.contrib.gis.gdal.CoordTransform` object.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In previous versions, it required the geometry's SRID to be a
|
|
||||||
positive integer even if it was called with a
|
|
||||||
:class:`~django.contrib.gis.gdal.CoordTransform` object.
|
|
||||||
|
|
||||||
.. method:: GEOSGeometry.normalize()
|
.. method:: GEOSGeometry.normalize()
|
||||||
|
|
||||||
Converts this geometry to canonical form::
|
Converts this geometry to canonical form::
|
||||||
|
@ -681,10 +667,6 @@ Other Properties & Methods
|
||||||
>>> pnt = Point()
|
>>> pnt = Point()
|
||||||
>>> pnt = Point([])
|
>>> pnt = Point([])
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In previous versions, an empty ``Point`` couldn't be instantiated.
|
|
||||||
|
|
||||||
``LineString``
|
``LineString``
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
|
@ -709,14 +691,8 @@ Other Properties & Methods
|
||||||
>>> ls = LineString()
|
>>> ls = LineString()
|
||||||
>>> ls = LineString([])
|
>>> ls = LineString([])
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In previous versions, an empty ``LineString`` couldn't be instantiated.
|
|
||||||
|
|
||||||
.. attribute:: closed
|
.. attribute:: closed
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Returns whether or not this ``LineString`` is closed.
|
Returns whether or not this ``LineString`` is closed.
|
||||||
|
|
||||||
``LinearRing``
|
``LinearRing``
|
||||||
|
@ -749,10 +725,6 @@ Other Properties & Methods
|
||||||
>>> poly = Polygon(ext_coords, int_coords)
|
>>> poly = Polygon(ext_coords, int_coords)
|
||||||
>>> poly = Polygon(LinearRing(ext_coords), LinearRing(int_coords))
|
>>> poly = Polygon(LinearRing(ext_coords), LinearRing(int_coords))
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In previous versions, an empty ``Polygon`` couldn't be instantiated.
|
|
||||||
|
|
||||||
.. classmethod:: from_bbox(bbox)
|
.. classmethod:: from_bbox(bbox)
|
||||||
|
|
||||||
Returns a polygon object from the given bounding-box, a 4-tuple
|
Returns a polygon object from the given bounding-box, a 4-tuple
|
||||||
|
@ -787,10 +759,6 @@ Geometry Collections
|
||||||
>>> mp = MultiPoint(Point(0, 0), Point(1, 1))
|
>>> mp = MultiPoint(Point(0, 0), Point(1, 1))
|
||||||
>>> mp = MultiPoint( (Point(0, 0), Point(1, 1)) )
|
>>> mp = MultiPoint( (Point(0, 0), Point(1, 1)) )
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In previous versions, an empty ``MultiPoint`` couldn't be instantiated.
|
|
||||||
|
|
||||||
``MultiLineString``
|
``MultiLineString``
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
@ -805,11 +773,6 @@ Geometry Collections
|
||||||
>>> mls = MultiLineString(ls1, ls2)
|
>>> mls = MultiLineString(ls1, ls2)
|
||||||
>>> mls = MultiLineString([ls1, ls2])
|
>>> mls = MultiLineString([ls1, ls2])
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In previous versions, an empty ``MultiLineString`` couldn't be
|
|
||||||
instantiated.
|
|
||||||
|
|
||||||
.. attribute:: merged
|
.. attribute:: merged
|
||||||
|
|
||||||
Returns a :class:`LineString` representing the line merge of
|
Returns a :class:`LineString` representing the line merge of
|
||||||
|
@ -817,8 +780,6 @@ Geometry Collections
|
||||||
|
|
||||||
.. attribute:: closed
|
.. attribute:: closed
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Returns ``True`` if and only if all elements are closed. Requires GEOS 3.5.
|
Returns ``True`` if and only if all elements are closed. Requires GEOS 3.5.
|
||||||
|
|
||||||
``MultiPolygon``
|
``MultiPolygon``
|
||||||
|
@ -834,11 +795,6 @@ Geometry Collections
|
||||||
>>> mp = MultiPolygon(p1, p2)
|
>>> mp = MultiPolygon(p1, p2)
|
||||||
>>> mp = MultiPolygon([p1, p2])
|
>>> mp = MultiPolygon([p1, p2])
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In previous versions, an empty ``MultiPolygon`` couldn't be
|
|
||||||
instantiated.
|
|
||||||
|
|
||||||
``GeometryCollection``
|
``GeometryCollection``
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
|
@ -852,11 +808,6 @@ Geometry Collections
|
||||||
>>> gc = GeometryCollection(Point(0, 0), MultiPoint(Point(0, 0), Point(1, 1)), poly)
|
>>> gc = GeometryCollection(Point(0, 0), MultiPoint(Point(0, 0), Point(1, 1)), poly)
|
||||||
>>> gc = GeometryCollection((Point(0, 0), MultiPoint(Point(0, 0), Point(1, 1)), poly))
|
>>> gc = GeometryCollection((Point(0, 0), MultiPoint(Point(0, 0), Point(1, 1)), poly))
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In previous versions, an empty ``GeometryCollection`` couldn't be
|
|
||||||
instantiated.
|
|
||||||
|
|
||||||
.. _prepared-geometries:
|
.. _prepared-geometries:
|
||||||
|
|
||||||
Prepared Geometries
|
Prepared Geometries
|
||||||
|
@ -978,10 +929,6 @@ include the SRID value (in other words, EWKB).
|
||||||
:attr:`WKBWriter.outdim` documentation for more details about the ``dim``
|
:attr:`WKBWriter.outdim` documentation for more details about the ``dim``
|
||||||
argument.
|
argument.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
The ability to pass the ``dim`` argument to the constructor was added.
|
|
||||||
|
|
||||||
.. method:: WKBWriter.write(geom)
|
.. method:: WKBWriter.write(geom)
|
||||||
|
|
||||||
Returns the WKB of the given geometry as a Python ``buffer`` object.
|
Returns the WKB of the given geometry as a Python ``buffer`` object.
|
||||||
|
@ -1071,11 +1018,6 @@ include the SRID value (in other words, EWKB).
|
||||||
:attr:`WKBWriter.outdim`, :attr:`trim`, and :attr:`precision` attributes for
|
:attr:`WKBWriter.outdim`, :attr:`trim`, and :attr:`precision` attributes for
|
||||||
details about the constructor arguments.
|
details about the constructor arguments.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
The ability to pass the ``dim``, ``trim``, and ``precision`` arguments
|
|
||||||
to the constructor was added.
|
|
||||||
|
|
||||||
.. method:: WKTWriter.write(geom)
|
.. method:: WKTWriter.write(geom)
|
||||||
|
|
||||||
Returns the WKT of the given geometry. Example::
|
Returns the WKT of the given geometry. Example::
|
||||||
|
@ -1092,8 +1034,6 @@ include the SRID value (in other words, EWKB).
|
||||||
|
|
||||||
.. attribute:: WKTWriter.trim
|
.. attribute:: WKTWriter.trim
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
This property is used to enable or disable trimming of
|
This property is used to enable or disable trimming of
|
||||||
unnecessary decimals.
|
unnecessary decimals.
|
||||||
|
|
||||||
|
@ -1110,8 +1050,6 @@ include the SRID value (in other words, EWKB).
|
||||||
|
|
||||||
.. attribute:: WKTWriter.precision
|
.. attribute:: WKTWriter.precision
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
This property controls the rounding precision of coordinates;
|
This property controls the rounding precision of coordinates;
|
||||||
if set to ``None`` rounding is disabled.
|
if set to ``None`` rounding is disabled.
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,3 @@ Would output::
|
||||||
When the ``fields`` parameter is not specified, the ``geojson`` serializer adds
|
When the ``fields`` parameter is not specified, the ``geojson`` serializer adds
|
||||||
a ``pk`` key to the ``properties`` dictionary with the primary key of the
|
a ``pk`` key to the ``properties`` dictionary with the primary key of the
|
||||||
object as the value.
|
object as the value.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
The ``pk`` key was added to the ``properties`` dictionary.
|
|
||||||
|
|
|
@ -7,8 +7,6 @@ Trigram similarity
|
||||||
|
|
||||||
.. fieldlookup:: trigram_similar
|
.. fieldlookup:: trigram_similar
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
The ``trigram_similar`` lookup allows you to perform trigram lookups,
|
The ``trigram_similar`` lookup allows you to perform trigram lookups,
|
||||||
measuring the number of trigrams (three consecutive characters) shared, using a
|
measuring the number of trigrams (three consecutive characters) shared, using a
|
||||||
dedicated PostgreSQL extension. A trigram lookup is given an expression and
|
dedicated PostgreSQL extension. A trigram lookup is given an expression and
|
||||||
|
|
|
@ -80,8 +80,6 @@ run the query ``CREATE EXTENSION IF NOT EXISTS hstore;``.
|
||||||
|
|
||||||
.. class:: TrigramExtension()
|
.. class:: TrigramExtension()
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Installs the ``pg_trgm`` extension.
|
Installs the ``pg_trgm`` extension.
|
||||||
|
|
||||||
``UnaccentExtension``
|
``UnaccentExtension``
|
||||||
|
|
|
@ -2,8 +2,6 @@
|
||||||
Full text search
|
Full text search
|
||||||
================
|
================
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
The database functions in the ``django.contrib.postgres.search`` module ease
|
The database functions in the ``django.contrib.postgres.search`` module ease
|
||||||
the use of PostgreSQL's `full text search engine
|
the use of PostgreSQL's `full text search engine
|
||||||
<https://www.postgresql.org/docs/current/static/textsearch.html>`_.
|
<https://www.postgresql.org/docs/current/static/textsearch.html>`_.
|
||||||
|
@ -203,8 +201,6 @@ operation.
|
||||||
|
|
||||||
.. class:: TrigramSimilarity(expression, string, **extra)
|
.. class:: TrigramSimilarity(expression, string, **extra)
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Accepts a field name or expression, and a string or expression. Returns the
|
Accepts a field name or expression, and a string or expression. Returns the
|
||||||
trigram similarity between the two arguments.
|
trigram similarity between the two arguments.
|
||||||
|
|
||||||
|
@ -224,8 +220,6 @@ Usage example::
|
||||||
|
|
||||||
.. class:: TrigramDistance(expression, string, **extra)
|
.. class:: TrigramDistance(expression, string, **extra)
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Accepts a field name or expression, and a string or expression. Returns the
|
Accepts a field name or expression, and a string or expression. Returns the
|
||||||
trigram distance between the two arguments.
|
trigram distance between the two arguments.
|
||||||
|
|
||||||
|
|
|
@ -129,8 +129,6 @@ For a full list of options, refer to the commands own help by running::
|
||||||
Customizing the ignored pattern list
|
Customizing the ignored pattern list
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
The default ignored pattern list, ``['CVS', '.*', '*~']``, can be customized in
|
The default ignored pattern list, ``['CVS', '.*', '*~']``, can be customized in
|
||||||
a more persistent way than providing the ``--ignore`` command option at each
|
a more persistent way than providing the ``--ignore`` command option at each
|
||||||
``collectstatic`` invocation. Provide a custom :class:`~django.apps.AppConfig`
|
``collectstatic`` invocation. Provide a custom :class:`~django.apps.AppConfig`
|
||||||
|
@ -320,13 +318,6 @@ following requirements are met:
|
||||||
* you've collected all your static files by using the
|
* you've collected all your static files by using the
|
||||||
:djadmin:`collectstatic` management command
|
:djadmin:`collectstatic` management command
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In older versions, you also had to use
|
|
||||||
``{% load static from staticfiles %}`` in your template. The
|
|
||||||
:ttag:`static` template tag (``{% load static %}``) now uses
|
|
||||||
:mod:`django.contrib.staticfiles` if it's installed.
|
|
||||||
|
|
||||||
Since creating the MD5 hash can be a performance burden to your website
|
Since creating the MD5 hash can be a performance burden to your website
|
||||||
during runtime, ``staticfiles`` will automatically store the mapping with
|
during runtime, ``staticfiles`` will automatically store the mapping with
|
||||||
hashed names for all processed files in a file called ``staticfiles.json``.
|
hashed names for all processed files in a file called ``staticfiles.json``.
|
||||||
|
|
|
@ -315,11 +315,6 @@ the HOST header <host-headers-virtual-hosting>` and that there aren't any
|
||||||
(because XSS vulnerabilities already let an attacker do anything a CSRF
|
(because XSS vulnerabilities already let an attacker do anything a CSRF
|
||||||
vulnerability allows and much worse).
|
vulnerability allows and much worse).
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
Added salting to the token and started changing it with each request
|
|
||||||
to protect against `BREACH`_ attacks.
|
|
||||||
|
|
||||||
.. _BREACH: http://breachattack.com/
|
.. _BREACH: http://breachattack.com/
|
||||||
|
|
||||||
Caching
|
Caching
|
||||||
|
|
|
@ -138,8 +138,6 @@ make it part of your integration test suite.
|
||||||
|
|
||||||
.. django-admin-option:: --fail-level {CRITICAL,ERROR,WARNING,INFO,DEBUG}
|
.. django-admin-option:: --fail-level {CRITICAL,ERROR,WARNING,INFO,DEBUG}
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Specifies the message level that will cause the command to exit with a non-zero
|
Specifies the message level that will cause the command to exit with a non-zero
|
||||||
status. Default is ``ERROR``.
|
status. Default is ``ERROR``.
|
||||||
|
|
||||||
|
@ -393,11 +391,6 @@ table's lifecycle, you'll need to change the
|
||||||
:attr:`~django.db.models.Options.managed` option to ``True`` (or simply remove
|
:attr:`~django.db.models.Options.managed` option to ``True`` (or simply remove
|
||||||
it because ``True`` is its default value).
|
it because ``True`` is its default value).
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Support for the ``table`` argument(s) to choose what tables should be
|
|
||||||
inspected was added.
|
|
||||||
|
|
||||||
.. django-admin-option:: --database DATABASE
|
.. django-admin-option:: --database DATABASE
|
||||||
|
|
||||||
Specifies the database to introspect. Defaults to ``default``.
|
Specifies the database to introspect. Defaults to ``default``.
|
||||||
|
@ -709,8 +702,6 @@ Makes ``makemigrations`` exit with error code 1 when no migrations are created
|
||||||
|
|
||||||
.. django-admin-option:: --check
|
.. django-admin-option:: --check
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Makes ``makemigrations`` exit with a non-zero status when model changes without
|
Makes ``makemigrations`` exit with a non-zero status when model changes without
|
||||||
migrations are detected.
|
migrations are detected.
|
||||||
|
|
||||||
|
@ -835,11 +826,6 @@ history of migrations is created at first run of ``runserver``.
|
||||||
Logging of each request and response of the server is sent to the
|
Logging of each request and response of the server is sent to the
|
||||||
:ref:`django-server-logger` logger.
|
:ref:`django-server-logger` logger.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In older versions, log messages were written to ``sys.stderr`` instead of
|
|
||||||
being handled through Python logging.
|
|
||||||
|
|
||||||
.. django-admin-option:: --noreload
|
.. django-admin-option:: --noreload
|
||||||
|
|
||||||
Disables the auto-reloader. This means any Python code changes you make while
|
Disables the auto-reloader. This means any Python code changes you make while
|
||||||
|
@ -962,8 +948,6 @@ variable or the ``~/.pythonrc.py`` script is read.
|
||||||
|
|
||||||
.. django-admin-option:: --command COMMAND, -c COMMAND
|
.. django-admin-option:: --command COMMAND, -c COMMAND
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Lets you pass a command as a string to execute it as Django, like so::
|
Lets you pass a command as a string to execute it as Django, like so::
|
||||||
|
|
||||||
django-admin shell --command="import django; print(django.__version__)"
|
django-admin shell --command="import django; print(django.__version__)"
|
||||||
|
@ -1334,15 +1318,11 @@ don't.
|
||||||
|
|
||||||
.. option:: --tag TAGS
|
.. option:: --tag TAGS
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Runs only tests :ref:`marked with the specified tags <topics-tagging-tests>`.
|
Runs only tests :ref:`marked with the specified tags <topics-tagging-tests>`.
|
||||||
May be specified multiple times and combined with :option:`test --exclude-tag`.
|
May be specified multiple times and combined with :option:`test --exclude-tag`.
|
||||||
|
|
||||||
.. option:: --exclude-tag EXCLUDE_TAGS
|
.. option:: --exclude-tag EXCLUDE_TAGS
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Excludes tests :ref:`marked with the specified tags <topics-tagging-tests>`.
|
Excludes tests :ref:`marked with the specified tags <topics-tagging-tests>`.
|
||||||
May be specified multiple times and combined with :option:`test --tag`.
|
May be specified multiple times and combined with :option:`test --tag`.
|
||||||
|
|
||||||
|
@ -1803,12 +1783,6 @@ Command options which take multiple options are passed a list::
|
||||||
The return value of the ``call_command()`` function is the same as the return
|
The return value of the ``call_command()`` function is the same as the return
|
||||||
value of the ``handle()`` method of the command.
|
value of the ``handle()`` method of the command.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
``call_command()`` now returns the value received from the
|
|
||||||
``command.handle()`` method. It now also accepts a command object as the
|
|
||||||
first argument.
|
|
||||||
|
|
||||||
Output redirection
|
Output redirection
|
||||||
==================
|
==================
|
||||||
|
|
||||||
|
|
|
@ -223,10 +223,6 @@ to Python 3. To avoid unexpected differences with Python 3, Django will also
|
||||||
ensure that the exception made available via ``__cause__`` has a usable
|
ensure that the exception made available via ``__cause__`` has a usable
|
||||||
``__traceback__`` attribute.)
|
``__traceback__`` attribute.)
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
The ``__traceback__`` attribute described above was added.
|
|
||||||
|
|
||||||
.. exception:: models.ProtectedError
|
.. exception:: models.ProtectedError
|
||||||
|
|
||||||
Raised to prevent deletion of referenced objects when using
|
Raised to prevent deletion of referenced objects when using
|
||||||
|
|
|
@ -91,8 +91,6 @@ The ``Storage`` class
|
||||||
|
|
||||||
.. method:: get_accessed_time(name)
|
.. method:: get_accessed_time(name)
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Returns a :class:`~datetime.datetime` of the last accessed time of the
|
Returns a :class:`~datetime.datetime` of the last accessed time of the
|
||||||
file. For storage systems unable to return the last accessed time this
|
file. For storage systems unable to return the last accessed time this
|
||||||
will raise :exc:`NotImplementedError`.
|
will raise :exc:`NotImplementedError`.
|
||||||
|
@ -117,8 +115,6 @@ The ``Storage`` class
|
||||||
|
|
||||||
.. method:: get_created_time(name)
|
.. method:: get_created_time(name)
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Returns a :class:`~datetime.datetime` of the creation time of the file.
|
Returns a :class:`~datetime.datetime` of the creation time of the file.
|
||||||
For storage systems unable to return the creation time this will raise
|
For storage systems unable to return the creation time this will raise
|
||||||
:exc:`NotImplementedError`.
|
:exc:`NotImplementedError`.
|
||||||
|
@ -128,8 +124,6 @@ The ``Storage`` class
|
||||||
|
|
||||||
.. method:: get_modified_time(name)
|
.. method:: get_modified_time(name)
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Returns a :class:`~datetime.datetime` of the last modified time of the
|
Returns a :class:`~datetime.datetime` of the last modified time of the
|
||||||
file. For storage systems unable to return the last modified time this
|
file. For storage systems unable to return the last modified time this
|
||||||
will raise :exc:`NotImplementedError`.
|
will raise :exc:`NotImplementedError`.
|
||||||
|
@ -144,8 +138,6 @@ The ``Storage`` class
|
||||||
|
|
||||||
.. method:: generate_filename(filename)
|
.. method:: generate_filename(filename)
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Validates the ``filename`` by calling :attr:`get_valid_name()` and
|
Validates the ``filename`` by calling :attr:`get_valid_name()` and
|
||||||
returns a filename to be passed to the :meth:`save` method.
|
returns a filename to be passed to the :meth:`save` method.
|
||||||
|
|
||||||
|
|
|
@ -711,8 +711,6 @@ using the ``label_suffix`` parameter to
|
||||||
|
|
||||||
.. attribute:: Form.use_required_attribute
|
.. attribute:: Form.use_required_attribute
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
When set to ``True`` (the default), required form fields will have the
|
When set to ``True`` (the default), required form fields will have the
|
||||||
``required`` HTML attribute.
|
``required`` HTML attribute.
|
||||||
|
|
||||||
|
|
|
@ -291,8 +291,6 @@ foundation for custom widgets.
|
||||||
|
|
||||||
.. method:: value_omitted_from_data(data, files, name)
|
.. method:: value_omitted_from_data(data, files, name)
|
||||||
|
|
||||||
.. versionadded:: 1.10.2
|
|
||||||
|
|
||||||
Given ``data`` and ``files`` dictionaries and this widget's name,
|
Given ``data`` and ``files`` dictionaries and this widget's name,
|
||||||
returns whether or not there's data or files for the widget.
|
returns whether or not there's data or files for the widget.
|
||||||
|
|
||||||
|
@ -307,8 +305,6 @@ foundation for custom widgets.
|
||||||
|
|
||||||
.. method:: use_required_attribute(initial)
|
.. method:: use_required_attribute(initial)
|
||||||
|
|
||||||
.. versionadded:: 1.10.1
|
|
||||||
|
|
||||||
Given a form field's ``initial`` value, returns whether or not the
|
Given a form field's ``initial`` value, returns whether or not the
|
||||||
widget can be rendered with the ``required`` HTML attribute. Forms use
|
widget can be rendered with the ``required`` HTML attribute. Forms use
|
||||||
this method along with :attr:`Field.required
|
this method along with :attr:`Field.required
|
||||||
|
|
|
@ -97,8 +97,6 @@ Exception middleware
|
||||||
|
|
||||||
.. class:: ExceptionMiddleware
|
.. class:: ExceptionMiddleware
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Catches exceptions raised during the request/response cycle and returns the
|
Catches exceptions raised during the request/response cycle and returns the
|
||||||
appropriate response.
|
appropriate response.
|
||||||
|
|
||||||
|
@ -161,12 +159,6 @@ If the response has an ``ETag`` header, the ETag is made weak to comply with
|
||||||
You can apply GZip compression to individual views using the
|
You can apply GZip compression to individual views using the
|
||||||
:func:`~django.views.decorators.gzip.gzip_page()` decorator.
|
:func:`~django.views.decorators.gzip.gzip_page()` decorator.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In older versions, Django's CSRF protection mechanism was vulnerable to
|
|
||||||
BREACH attacks when compression was used. This is no longer the case, but
|
|
||||||
you should still take care not to compromise your own secrets this way.
|
|
||||||
|
|
||||||
Conditional GET middleware
|
Conditional GET middleware
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
|
|
|
@ -281,10 +281,6 @@ be removed (elided) when :ref:`squashing migrations <migration-squashing>`.
|
||||||
|
|
||||||
.. _sqlparse: https://pypi.python.org/pypi/sqlparse
|
.. _sqlparse: https://pypi.python.org/pypi/sqlparse
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
The ``elidable`` argument was added.
|
|
||||||
|
|
||||||
``RunPython``
|
``RunPython``
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
|
@ -400,15 +396,6 @@ if ``atomic=True`` is passed to the ``RunPython`` operation.
|
||||||
you want the operation not to do anything in the given direction. This is
|
you want the operation not to do anything in the given direction. This is
|
||||||
especially useful in making the operation reversible.
|
especially useful in making the operation reversible.
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
The ``elidable`` argument was added.
|
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
The ``atomic`` argument default was changed to ``None``, indicating that
|
|
||||||
the atomicity is controlled by the ``atomic`` attribute of the migration.
|
|
||||||
|
|
||||||
``SeparateDatabaseAndState``
|
``SeparateDatabaseAndState``
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
|
|
|
@ -28,8 +28,6 @@ allows the field to have two "empty values", but it's important for the
|
||||||
|
|
||||||
.. class:: Cast(expression, output_field)
|
.. class:: Cast(expression, output_field)
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Forces the result type of ``expression`` to be the one from ``output_field``.
|
Forces the result type of ``expression`` to be the one from ``output_field``.
|
||||||
|
|
||||||
Usage example::
|
Usage example::
|
||||||
|
@ -281,8 +279,6 @@ Date Functions
|
||||||
|
|
||||||
.. module:: django.db.models.functions.datetime
|
.. module:: django.db.models.functions.datetime
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
We'll be using the following model in examples of each function::
|
We'll be using the following model in examples of each function::
|
||||||
|
|
||||||
class Experiment(models.Model):
|
class Experiment(models.Model):
|
||||||
|
|
|
@ -278,8 +278,6 @@ The ``Func`` API is as follows:
|
||||||
|
|
||||||
.. attribute:: arity
|
.. attribute:: arity
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
A class attribute that denotes the number of arguments the function
|
A class attribute that denotes the number of arguments the function
|
||||||
accepts. If this attribute is set and the function is called with a
|
accepts. If this attribute is set and the function is called with a
|
||||||
different number of expressions, ``TypeError`` will be raised. Defaults
|
different number of expressions, ``TypeError`` will be raised. Defaults
|
||||||
|
@ -308,11 +306,6 @@ The ``Func`` API is as follows:
|
||||||
template="%(function)s('', %(expressions)s)",
|
template="%(function)s('', %(expressions)s)",
|
||||||
)
|
)
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
Support for the ``arg_joiner`` and ``**extra_context`` parameters
|
|
||||||
was added.
|
|
||||||
|
|
||||||
The ``*expressions`` argument is a list of positional expressions that the
|
The ``*expressions`` argument is a list of positional expressions that the
|
||||||
function will be applied to. The expressions will be converted to strings,
|
function will be applied to. The expressions will be converted to strings,
|
||||||
joined together with ``arg_joiner``, and then interpolated into the ``template``
|
joined together with ``arg_joiner``, and then interpolated into the ``template``
|
||||||
|
|
|
@ -401,8 +401,6 @@ otherwise. See :ref:`automatic-primary-key-fields`.
|
||||||
|
|
||||||
.. class:: BigAutoField(**options)
|
.. class:: BigAutoField(**options)
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
A 64-bit integer, much like an :class:`AutoField` except that it is
|
A 64-bit integer, much like an :class:`AutoField` except that it is
|
||||||
guaranteed to fit numbers from ``1`` to ``9223372036854775807``.
|
guaranteed to fit numbers from ``1`` to ``9223372036854775807``.
|
||||||
|
|
||||||
|
@ -1777,8 +1775,6 @@ Field API reference
|
||||||
|
|
||||||
.. method:: rel_db_type(connection)
|
.. method:: rel_db_type(connection)
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Returns the database column data type for fields such as ``ForeignKey``
|
Returns the database column data type for fields such as ``ForeignKey``
|
||||||
and ``OneToOneField`` that point to the :class:`Field`, taking
|
and ``OneToOneField`` that point to the :class:`Field`, taking
|
||||||
into account the ``connection``.
|
into account the ``connection``.
|
||||||
|
|
|
@ -119,12 +119,6 @@ The example above shows a full ``from_db()`` implementation to clarify how that
|
||||||
is done. In this case it would of course be possible to just use ``super()`` call
|
is done. In this case it would of course be possible to just use ``super()`` call
|
||||||
in the ``from_db()`` method.
|
in the ``from_db()`` method.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In older versions, you could check if all fields were loaded by consulting
|
|
||||||
``cls._deferred``. This attribute is removed and
|
|
||||||
``django.db.models.DEFERRED`` is new.
|
|
||||||
|
|
||||||
Refreshing objects from database
|
Refreshing objects from database
|
||||||
================================
|
================================
|
||||||
|
|
||||||
|
@ -135,11 +129,6 @@ value from the database::
|
||||||
>>> del obj.field
|
>>> del obj.field
|
||||||
>>> obj.field # Loads the field from the database
|
>>> obj.field # Loads the field from the database
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In older versions, accessing a deleted field raised ``AttributeError``
|
|
||||||
instead of reloading it.
|
|
||||||
|
|
||||||
.. method:: Model.refresh_from_db(using=None, fields=None)
|
.. method:: Model.refresh_from_db(using=None, fields=None)
|
||||||
|
|
||||||
If you need to reload a model's values from the database, you can use the
|
If you need to reload a model's values from the database, you can use the
|
||||||
|
|
|
@ -38,8 +38,6 @@ Available ``Meta`` options
|
||||||
|
|
||||||
.. attribute:: Options.base_manager_name
|
.. attribute:: Options.base_manager_name
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
The name of the manager to use for the model's
|
The name of the manager to use for the model's
|
||||||
:attr:`~django.db.models.Model._base_manager`.
|
:attr:`~django.db.models.Model._base_manager`.
|
||||||
|
|
||||||
|
@ -108,8 +106,6 @@ Django quotes column and table names behind the scenes.
|
||||||
|
|
||||||
.. attribute:: Options.default_manager_name
|
.. attribute:: Options.default_manager_name
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
The name of the manager to use for the model's
|
The name of the manager to use for the model's
|
||||||
:attr:`~django.db.models.Model._default_manager`.
|
:attr:`~django.db.models.Model._default_manager`.
|
||||||
|
|
||||||
|
|
|
@ -1949,11 +1949,6 @@ This has a number of caveats though:
|
||||||
unless the database backend supports it (currently PostgreSQL).
|
unless the database backend supports it (currently PostgreSQL).
|
||||||
* It does not work with many-to-many relationships.
|
* It does not work with many-to-many relationships.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
Support for setting primary keys on objects created using ``bulk_create()``
|
|
||||||
when using PostgreSQL was added.
|
|
||||||
|
|
||||||
The ``batch_size`` parameter controls how many objects are created in single
|
The ``batch_size`` parameter controls how many objects are created in single
|
||||||
query. The default is to create all objects in one batch, except for SQLite
|
query. The default is to create all objects in one batch, except for SQLite
|
||||||
where the default is such that at most 999 variables per query are used.
|
where the default is such that at most 999 variables per query are used.
|
||||||
|
@ -2011,10 +2006,6 @@ Example::
|
||||||
|
|
||||||
If you pass ``in_bulk()`` an empty list, you'll get an empty dictionary.
|
If you pass ``in_bulk()`` an empty list, you'll get an empty dictionary.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In older versions, ``id_list`` was a required argument.
|
|
||||||
|
|
||||||
``iterator()``
|
``iterator()``
|
||||||
~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
@ -3206,8 +3197,6 @@ attribute:
|
||||||
|
|
||||||
.. function:: prefetch_related_objects(model_instances, *related_lookups)
|
.. function:: prefetch_related_objects(model_instances, *related_lookups)
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Prefetches the given lookups on an iterable of model instances. This is useful
|
Prefetches the given lookups on an iterable of model instances. This is useful
|
||||||
in code that receives a list of model instances as opposed to a ``QuerySet``;
|
in code that receives a list of model instances as opposed to a ``QuerySet``;
|
||||||
for example, when fetching models from a cache or instantiating them manually.
|
for example, when fetching models from a cache or instantiating them manually.
|
||||||
|
|
|
@ -86,15 +86,11 @@ All attributes should be considered read-only, unless stated otherwise.
|
||||||
|
|
||||||
.. attribute:: HttpRequest.content_type
|
.. attribute:: HttpRequest.content_type
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
A string representing the MIME type of the request, parsed from the
|
A string representing the MIME type of the request, parsed from the
|
||||||
``CONTENT_TYPE`` header.
|
``CONTENT_TYPE`` header.
|
||||||
|
|
||||||
.. attribute:: HttpRequest.content_params
|
.. attribute:: HttpRequest.content_params
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
A dictionary of key/value parameters included in the ``CONTENT_TYPE``
|
A dictionary of key/value parameters included in the ``CONTENT_TYPE``
|
||||||
header.
|
header.
|
||||||
|
|
||||||
|
@ -639,11 +635,6 @@ generators are immediately closed.
|
||||||
If you need the response to be streamed from the iterator to the client, you
|
If you need the response to be streamed from the iterator to the client, you
|
||||||
must use the :class:`StreamingHttpResponse` class instead.
|
must use the :class:`StreamingHttpResponse` class instead.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
Objects with a ``close()`` method used to be closed when the WSGI server
|
|
||||||
called ``close()`` on the response.
|
|
||||||
|
|
||||||
Setting header fields
|
Setting header fields
|
||||||
~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
@ -846,15 +837,11 @@ Methods
|
||||||
|
|
||||||
.. method:: HttpResponse.readable()
|
.. method:: HttpResponse.readable()
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Always ``False``. This method makes an :class:`HttpResponse` instance a
|
Always ``False``. This method makes an :class:`HttpResponse` instance a
|
||||||
stream-like object.
|
stream-like object.
|
||||||
|
|
||||||
.. method:: HttpResponse.seekable()
|
.. method:: HttpResponse.seekable()
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Always ``False``. This method makes an :class:`HttpResponse` instance a
|
Always ``False``. This method makes an :class:`HttpResponse` instance a
|
||||||
stream-like object.
|
stream-like object.
|
||||||
|
|
||||||
|
|
|
@ -423,11 +423,6 @@ an :class:`~django.http.HttpResponseForbidden`.
|
||||||
parameter that defaults to ``'403_csrf.html'``. If a template with that name
|
parameter that defaults to ``'403_csrf.html'``. If a template with that name
|
||||||
exists, it will be used to render the page.
|
exists, it will be used to render the page.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
The ``template_name`` parameter and the behavior of searching for a template
|
|
||||||
called ``403_csrf.html`` were added to ``csrf_failure()``.
|
|
||||||
|
|
||||||
.. setting:: CSRF_HEADER_NAME
|
.. setting:: CSRF_HEADER_NAME
|
||||||
|
|
||||||
``CSRF_HEADER_NAME``
|
``CSRF_HEADER_NAME``
|
||||||
|
@ -906,8 +901,6 @@ The maximum size that the DATAFILE_TMP is allowed to grow to.
|
||||||
DATA_UPLOAD_MAX_MEMORY_SIZE
|
DATA_UPLOAD_MAX_MEMORY_SIZE
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Default: ``2621440`` (i.e. 2.5 MB).
|
Default: ``2621440`` (i.e. 2.5 MB).
|
||||||
|
|
||||||
The maximum size in bytes that a request body may be before a
|
The maximum size in bytes that a request body may be before a
|
||||||
|
@ -930,8 +923,6 @@ See also :setting:`FILE_UPLOAD_MAX_MEMORY_SIZE`.
|
||||||
DATA_UPLOAD_MAX_NUMBER_FIELDS
|
DATA_UPLOAD_MAX_NUMBER_FIELDS
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Default: ``1000``
|
Default: ``1000``
|
||||||
|
|
||||||
The maximum number of parameters that may be received via GET or POST before a
|
The maximum number of parameters that may be received via GET or POST before a
|
||||||
|
@ -1513,10 +1504,6 @@ of the preferred value or not supplied at all. It is also used by
|
||||||
request/response cycle (e.g. in management commands and standalone scripts) to
|
request/response cycle (e.g. in management commands and standalone scripts) to
|
||||||
generate correct URLs when ``SCRIPT_NAME`` is not ``/``.
|
generate correct URLs when ``SCRIPT_NAME`` is not ``/``.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
The setting's use in :func:`django.setup()` was added.
|
|
||||||
|
|
||||||
.. setting:: FORM_RENDERER
|
.. setting:: FORM_RENDERER
|
||||||
|
|
||||||
``FORM_RENDERER``
|
``FORM_RENDERER``
|
||||||
|
@ -1894,8 +1881,6 @@ Example: ``"http://media.example.com/"``
|
||||||
``MIDDLEWARE``
|
``MIDDLEWARE``
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Default:: ``None``
|
Default:: ``None``
|
||||||
|
|
||||||
A list of middleware to use. See :doc:`/topics/http/middleware`.
|
A list of middleware to use. See :doc:`/topics/http/middleware`.
|
||||||
|
@ -2775,8 +2760,6 @@ the URL in two places (``settings`` and URLconf).
|
||||||
``LOGOUT_REDIRECT_URL``
|
``LOGOUT_REDIRECT_URL``
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Default: ``None``
|
Default: ``None``
|
||||||
|
|
||||||
The URL where requests are redirected after a user logs out using
|
The URL where requests are redirected after a user logs out using
|
||||||
|
@ -2817,22 +2800,6 @@ Default::
|
||||||
'django.contrib.auth.hashers.BCryptPasswordHasher',
|
'django.contrib.auth.hashers.BCryptPasswordHasher',
|
||||||
]
|
]
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
The following hashers were removed from the defaults::
|
|
||||||
|
|
||||||
'django.contrib.auth.hashers.SHA1PasswordHasher'
|
|
||||||
'django.contrib.auth.hashers.MD5PasswordHasher'
|
|
||||||
'django.contrib.auth.hashers.UnsaltedSHA1PasswordHasher'
|
|
||||||
'django.contrib.auth.hashers.UnsaltedMD5PasswordHasher'
|
|
||||||
'django.contrib.auth.hashers.CryptPasswordHasher'
|
|
||||||
|
|
||||||
Consider using a :ref:`wrapped password hasher <wrapping-password-hashers>`
|
|
||||||
to strengthen the hashes in your database. If that's not feasible, add this
|
|
||||||
setting to your project and add back any hashers that you need.
|
|
||||||
|
|
||||||
Also, the ``Argon2PasswordHasher`` was added.
|
|
||||||
|
|
||||||
.. setting:: AUTH_PASSWORD_VALIDATORS
|
.. setting:: AUTH_PASSWORD_VALIDATORS
|
||||||
|
|
||||||
``AUTH_PASSWORD_VALIDATORS``
|
``AUTH_PASSWORD_VALIDATORS``
|
||||||
|
|
|
@ -407,8 +407,6 @@ Arguments sent with this signal:
|
||||||
The alias of database on which a command will operate.
|
The alias of database on which a command will operate.
|
||||||
|
|
||||||
``plan``
|
``plan``
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
The migration plan that is going to be used for the migration run. While
|
The migration plan that is going to be used for the migration run. While
|
||||||
the plan is not public API, this allows for the rare cases when it is
|
the plan is not public API, this allows for the rare cases when it is
|
||||||
necessary to know the plan. A plan is a list of two-tuples with the first
|
necessary to know the plan. A plan is a list of two-tuples with the first
|
||||||
|
@ -416,8 +414,6 @@ Arguments sent with this signal:
|
||||||
if the migration was rolled back (``True``) or applied (``False``).
|
if the migration was rolled back (``True``) or applied (``False``).
|
||||||
|
|
||||||
``apps``
|
``apps``
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
An instance of :data:`Apps <django.apps>` containing the state of the
|
An instance of :data:`Apps <django.apps>` containing the state of the
|
||||||
project before the migration run. It should be used instead of the global
|
project before the migration run. It should be used instead of the global
|
||||||
:attr:`apps <django.apps.apps>` registry to retrieve the models you
|
:attr:`apps <django.apps.apps>` registry to retrieve the models you
|
||||||
|
@ -466,8 +462,6 @@ Arguments sent with this signal:
|
||||||
database.
|
database.
|
||||||
|
|
||||||
``plan``
|
``plan``
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
The migration plan that was used for the migration run. While the plan is
|
The migration plan that was used for the migration run. While the plan is
|
||||||
not public API, this allows for the rare cases when it is necessary to
|
not public API, this allows for the rare cases when it is necessary to
|
||||||
know the plan. A plan is a list of two-tuples with the first item being
|
know the plan. A plan is a list of two-tuples with the first item being
|
||||||
|
@ -475,8 +469,6 @@ Arguments sent with this signal:
|
||||||
migration was rolled back (``True``) or applied (``False``).
|
migration was rolled back (``True``) or applied (``False``).
|
||||||
|
|
||||||
``apps``
|
``apps``
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
An instance of :data:`Apps <django.apps.apps>` containing the state of the
|
An instance of :data:`Apps <django.apps.apps>` containing the state of the
|
||||||
project after the migration run. It should be used instead of the global
|
project after the migration run. It should be used instead of the global
|
||||||
:attr:`apps <django.apps.apps>` registry to retrieve the models you
|
:attr:`apps <django.apps.apps>` registry to retrieve the models you
|
||||||
|
|
|
@ -71,10 +71,6 @@ what's passed by :class:`~django.template.backends.django.DjangoTemplates`.
|
||||||
|
|
||||||
Only set it to ``False`` if you're rendering non-HTML templates!
|
Only set it to ``False`` if you're rendering non-HTML templates!
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
The ``autoescape`` option was added.
|
|
||||||
|
|
||||||
* ``context_processors`` is a list of dotted Python paths to callables
|
* ``context_processors`` is a list of dotted Python paths to callables
|
||||||
that are used to populate the context when a template is rendered with a
|
that are used to populate the context when a template is rendered with a
|
||||||
request. These callables take a request object as their argument and
|
request. These callables take a request object as their argument and
|
||||||
|
@ -700,11 +696,6 @@ the request's IP address (``request.META['REMOTE_ADDR']``) is in the
|
||||||
and how long it took. The list is in order by database alias and then by
|
and how long it took. The list is in order by database alias and then by
|
||||||
query. It's lazily generated on access.
|
query. It's lazily generated on access.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In older versions, only the queries for the default database alias were
|
|
||||||
included.
|
|
||||||
|
|
||||||
``django.template.context_processors.i18n``
|
``django.template.context_processors.i18n``
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|
|
@ -231,10 +231,6 @@ In ``template.html``, the following paths would be valid::
|
||||||
{% extends "../base1.html" %}
|
{% extends "../base1.html" %}
|
||||||
{% extends "./my/base3.html" %}
|
{% extends "./my/base3.html" %}
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
The ability to use relative paths was added.
|
|
||||||
|
|
||||||
.. templatetag:: filter
|
.. templatetag:: filter
|
||||||
|
|
||||||
``filter``
|
``filter``
|
||||||
|
@ -538,8 +534,6 @@ Not contained within. This is the negation of the ``in`` operator.
|
||||||
``is`` operator
|
``is`` operator
|
||||||
^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Object identity. Tests if two values are the same object. Example::
|
Object identity. Tests if two values are the same object. Example::
|
||||||
|
|
||||||
{% if somevar is True %}
|
{% if somevar is True %}
|
||||||
|
@ -553,8 +547,6 @@ Object identity. Tests if two values are the same object. Example::
|
||||||
``is not`` operator
|
``is not`` operator
|
||||||
^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Negated object identity. Tests if two values are not the same object. This is
|
Negated object identity. Tests if two values are not the same object. This is
|
||||||
the negation of the ``is`` operator. Example::
|
the negation of the ``is`` operator. Example::
|
||||||
|
|
||||||
|
@ -685,10 +677,6 @@ This example includes the contents of the template ``"foo/bar.html"``::
|
||||||
A string argument may be a relative path starting with ``./`` or ``../`` as
|
A string argument may be a relative path starting with ``./`` or ``../`` as
|
||||||
described in the :ttag:`extends` tag.
|
described in the :ttag:`extends` tag.
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
The ability to use a relative path was added.
|
|
||||||
|
|
||||||
This example includes the contents of the template whose name is contained in
|
This example includes the contents of the template whose name is contained in
|
||||||
the variable ``template_name``::
|
the variable ``template_name``::
|
||||||
|
|
||||||
|
@ -1597,10 +1585,6 @@ produce empty output::
|
||||||
|
|
||||||
{{ values|dictsort:"0" }}
|
{{ values|dictsort:"0" }}
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
The ability to order a list of lists was added.
|
|
||||||
|
|
||||||
.. templatefilter:: dictsortreversed
|
.. templatefilter:: dictsortreversed
|
||||||
|
|
||||||
``dictsortreversed``
|
``dictsortreversed``
|
||||||
|
@ -2585,12 +2569,6 @@ slightly different call::
|
||||||
See :class:`~django.template.backends.jinja2.Jinja2` for information on
|
See :class:`~django.template.backends.jinja2.Jinja2` for information on
|
||||||
using the ``static`` tag with Jinja2.
|
using the ``static`` tag with Jinja2.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In older versions, you had to use ``{% load static from staticfiles %}`` in
|
|
||||||
your template to serve files from the storage defined in
|
|
||||||
:setting:`STATICFILES_STORAGE`. This is no longer required.
|
|
||||||
|
|
||||||
.. templatetag:: get_static_prefix
|
.. templatetag:: get_static_prefix
|
||||||
|
|
||||||
``get_static_prefix``
|
``get_static_prefix``
|
||||||
|
|
|
@ -520,8 +520,6 @@ https://web.archive.org/web/20110718035220/http://diveintomark.org/archives/2004
|
||||||
|
|
||||||
.. function:: keep_lazy(func, *resultclasses)
|
.. function:: keep_lazy(func, *resultclasses)
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Django offers many utility functions (particularly in ``django.utils``)
|
Django offers many utility functions (particularly in ``django.utils``)
|
||||||
that take a string as their first argument and do something to that string.
|
that take a string as their first argument and do something to that string.
|
||||||
These functions are used by template filters as well as directly in other
|
These functions are used by template filters as well as directly in other
|
||||||
|
@ -565,8 +563,6 @@ https://web.archive.org/web/20110718035220/http://diveintomark.org/archives/2004
|
||||||
|
|
||||||
.. function:: keep_lazy_text(func)
|
.. function:: keep_lazy_text(func)
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
A shortcut for ``keep_lazy(six.text_type)(func)``.
|
A shortcut for ``keep_lazy(six.text_type)(func)``.
|
||||||
|
|
||||||
If you have a function that returns text and you want to be able to take
|
If you have a function that returns text and you want to be able to take
|
||||||
|
|
|
@ -230,10 +230,6 @@ to, or in lieu of custom ``field.clean()`` methods.
|
||||||
of integers separated by ``sep``. It allows negative integers when
|
of integers separated by ``sep``. It allows negative integers when
|
||||||
``allow_negative`` is ``True``.
|
``allow_negative`` is ``True``.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
The ``allow_negative`` parameter was added.
|
|
||||||
|
|
||||||
``MaxValueValidator``
|
``MaxValueValidator``
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
|
|
|
@ -87,10 +87,6 @@ Three things to note about 404 views:
|
||||||
your 404 view will never be used, and your URLconf will be displayed
|
your 404 view will never be used, and your URLconf will be displayed
|
||||||
instead, with some debug information.
|
instead, with some debug information.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
Passing a nonexistent ``template_name`` will raise ``TemplateDoesNotExist``.
|
|
||||||
|
|
||||||
.. _http_internal_server_error_view:
|
.. _http_internal_server_error_view:
|
||||||
|
|
||||||
The 500 (server error) view
|
The 500 (server error) view
|
||||||
|
@ -111,10 +107,6 @@ If :setting:`DEBUG` is set to ``True`` (in your settings module), then
|
||||||
your 500 view will never be used, and the traceback will be displayed
|
your 500 view will never be used, and the traceback will be displayed
|
||||||
instead, with some debug information.
|
instead, with some debug information.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
Passing a nonexistent ``template_name`` will raise ``TemplateDoesNotExist``.
|
|
||||||
|
|
||||||
.. _http_forbidden_view:
|
.. _http_forbidden_view:
|
||||||
|
|
||||||
The 403 (HTTP Forbidden) view
|
The 403 (HTTP Forbidden) view
|
||||||
|
@ -143,10 +135,6 @@ view you can use code like this::
|
||||||
raise PermissionDenied
|
raise PermissionDenied
|
||||||
# ...
|
# ...
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
Passing a nonexistent ``template_name`` will raise ``TemplateDoesNotExist``.
|
|
||||||
|
|
||||||
.. _http_bad_request_view:
|
.. _http_bad_request_view:
|
||||||
|
|
||||||
The 400 (bad request) view
|
The 400 (bad request) view
|
||||||
|
@ -167,7 +155,3 @@ context, as the exception message might contain sensitive information like
|
||||||
filesystem paths.
|
filesystem paths.
|
||||||
|
|
||||||
``bad_request`` views are also only used when :setting:`DEBUG` is ``False``.
|
``bad_request`` views are also only used when :setting:`DEBUG` is ``False``.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
Passing a nonexistent ``template_name`` will raise ``TemplateDoesNotExist``.
|
|
||||||
|
|
|
@ -260,11 +260,6 @@ authenticated users do not.
|
||||||
Do not forget to test for the ``is_active`` attribute of the user in your own
|
Do not forget to test for the ``is_active`` attribute of the user in your own
|
||||||
backend permission methods.
|
backend permission methods.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In older versions, the :class:`~django.contrib.auth.backends.ModelBackend`
|
|
||||||
allowed inactive users to authenticate.
|
|
||||||
|
|
||||||
Handling object permissions
|
Handling object permissions
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
@ -661,8 +656,6 @@ The following attributes and methods are available on any subclass of
|
||||||
|
|
||||||
.. method:: clean()
|
.. method:: clean()
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Normalizes the username by calling :meth:`normalize_username`. If you
|
Normalizes the username by calling :meth:`normalize_username`. If you
|
||||||
override this method, be sure to call ``super()`` to retain the
|
override this method, be sure to call ``super()`` to retain the
|
||||||
normalization.
|
normalization.
|
||||||
|
@ -677,8 +670,6 @@ The following attributes and methods are available on any subclass of
|
||||||
|
|
||||||
.. classmethod:: normalize_username(username)
|
.. classmethod:: normalize_username(username)
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Applies NFKC Unicode normalization to usernames so that visually
|
Applies NFKC Unicode normalization to usernames so that visually
|
||||||
identical characters with different Unicode code points are considered
|
identical characters with different Unicode code points are considered
|
||||||
identical.
|
identical.
|
||||||
|
|
|
@ -358,14 +358,6 @@ If you have an authenticated user you want to attach to the current session
|
||||||
# Return an 'invalid login' error message.
|
# Return an 'invalid login' error message.
|
||||||
...
|
...
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In older versions, when you're manually logging a user in, you *must*
|
|
||||||
successfully authenticate the user with
|
|
||||||
:func:`~django.contrib.auth.authenticate()` before you call
|
|
||||||
:func:`~django.contrib.auth.login()`. Now you can set the backend using
|
|
||||||
the new ``backend`` argument.
|
|
||||||
|
|
||||||
Selecting the authentication backend
|
Selecting the authentication backend
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
@ -956,10 +948,6 @@ implementation details see :ref:`using-the-views`.
|
||||||
The optional arguments of this view are similar to the class-based
|
The optional arguments of this view are similar to the class-based
|
||||||
``LoginView`` attributes.
|
``LoginView`` attributes.
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
The ``redirect_authenticated_user`` parameter was added.
|
|
||||||
|
|
||||||
.. class:: LoginView
|
.. class:: LoginView
|
||||||
|
|
||||||
.. versionadded:: 1.11
|
.. versionadded:: 1.11
|
||||||
|
|
|
@ -76,8 +76,6 @@ to modify this setting.
|
||||||
Using Argon2 with Django
|
Using Argon2 with Django
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Argon2_ is the winner of the 2015 `Password Hashing Competition`_, a community
|
Argon2_ is the winner of the 2015 `Password Hashing Competition`_, a community
|
||||||
organized open competition to select a next generation hashing algorithm. It's
|
organized open competition to select a next generation hashing algorithm. It's
|
||||||
designed not to be easier to compute on custom hardware than it is to compute
|
designed not to be easier to compute on custom hardware than it is to compute
|
||||||
|
|
|
@ -133,10 +133,6 @@ perform any extra checks you need, and append any messages to those generated
|
||||||
by the base class. It's recommended that you delegate each check to separate
|
by the base class. It's recommended that you delegate each check to separate
|
||||||
methods.
|
methods.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
Database backend checks were added.
|
|
||||||
|
|
||||||
Consider an example where you are implementing a custom field named
|
Consider an example where you are implementing a custom field named
|
||||||
``RangedIntegerField``. This field adds ``min`` and ``max`` arguments to the
|
``RangedIntegerField``. This field adds ``min`` and ``max`` arguments to the
|
||||||
constructor of ``IntegerField``. You may want to add a check to ensure that users
|
constructor of ``IntegerField``. You may want to add a check to ensure that users
|
||||||
|
|
|
@ -367,13 +367,6 @@ Here's how Django handles custom managers and :ref:`model inheritance
|
||||||
<django.db.models.Options.default_manager_name>`, or the first manager
|
<django.db.models.Options.default_manager_name>`, or the first manager
|
||||||
declared on the model, or the default manager of the first parent model.
|
declared on the model, or the default manager of the first parent model.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In older versions, manager inheritance varied depending on the type of
|
|
||||||
model inheritance (i.e. :ref:`abstract-base-classes`,
|
|
||||||
:ref:`multi-table-inheritance`, or :ref:`proxy-models`), especially
|
|
||||||
with regards to electing the default manager.
|
|
||||||
|
|
||||||
These rules provide the necessary flexibility if you want to install a
|
These rules provide the necessary flexibility if you want to install a
|
||||||
collection of custom managers on a group of models, via an abstract base
|
collection of custom managers on a group of models, via an abstract base
|
||||||
class, but still customize the default manager. For example, suppose you have
|
class, but still customize the default manager. For example, suppose you have
|
||||||
|
|
|
@ -1034,11 +1034,6 @@ attribute was omitted, the reverse name for the ``m2m`` field would be
|
||||||
``childa_set`` in the ``ChildA`` case and ``childb_set`` for the ``ChildB``
|
``childa_set`` in the ``ChildA`` case and ``childb_set`` for the ``ChildB``
|
||||||
field.
|
field.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
Interpolation of ``'%(app_label)s'`` and ``'%(class)s'`` for
|
|
||||||
``related_query_name`` was added.
|
|
||||||
|
|
||||||
.. _multi-table-inheritance:
|
.. _multi-table-inheritance:
|
||||||
|
|
||||||
Multi-table inheritance
|
Multi-table inheritance
|
||||||
|
@ -1236,11 +1231,6 @@ proxy model can inherit from any number of abstract model classes, providing
|
||||||
they do *not* define any model fields. A proxy model may also inherit from any
|
they do *not* define any model fields. A proxy model may also inherit from any
|
||||||
number of proxy models that share a common non-abstract parent class.
|
number of proxy models that share a common non-abstract parent class.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In earlier versions, a proxy model couldn't inherit more than one proxy
|
|
||||||
model that shared the same parent class.
|
|
||||||
|
|
||||||
Proxy model managers
|
Proxy model managers
|
||||||
~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
@ -1374,10 +1364,6 @@ This restriction doesn't apply to model fields inherited from an abstract
|
||||||
model. Such fields may be overridden with another field or value, or be removed
|
model. Such fields may be overridden with another field or value, or be removed
|
||||||
by setting ``field_name = None``.
|
by setting ``field_name = None``.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
The ability to override abstract fields was added.
|
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
Model managers are inherited from abstract base classes. Overriding an
|
Model managers are inherited from abstract base classes. Overriding an
|
||||||
|
|
|
@ -109,11 +109,6 @@ creating new migrations. By default, it checks only the ``default`` database,
|
||||||
but it consults the :meth:`allow_migrate` method of :ref:`routers
|
but it consults the :meth:`allow_migrate` method of :ref:`routers
|
||||||
<topics-db-multi-db-routing>` if any are installed.
|
<topics-db-multi-db-routing>` if any are installed.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
Migration consistency checks were added. Checks based on database routers
|
|
||||||
were added in 1.10.1.
|
|
||||||
|
|
||||||
.. _topics-db-multi-db-routing:
|
.. _topics-db-multi-db-routing:
|
||||||
|
|
||||||
Automatic database routing
|
Automatic database routing
|
||||||
|
|
|
@ -249,10 +249,6 @@ Or if :mod:`~django.contrib.staticfiles` is configured using the
|
||||||
<script type="text/javascript" src="https://static.example.com/animations.27e20196a850.js"></script>
|
<script type="text/javascript" src="https://static.example.com/animations.27e20196a850.js"></script>
|
||||||
<script type="text/javascript" src="http://othersite.com/actions.js"></script>
|
<script type="text/javascript" src="http://othersite.com/actions.js"></script>
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
Older versions didn't serve assets using :mod:`django.contrib.staticfiles`.
|
|
||||||
|
|
||||||
``Media`` objects
|
``Media`` objects
|
||||||
=================
|
=================
|
||||||
|
|
||||||
|
|
|
@ -342,16 +342,6 @@ there is one, for that field. This behavior doesn't apply to fields that use
|
||||||
form submission. Use a custom form field or widget if you're designing an API
|
form submission. Use a custom form field or widget if you're designing an API
|
||||||
and want the default fallback for a :class:`~django.db.models.BooleanField`.
|
and want the default fallback for a :class:`~django.db.models.BooleanField`.
|
||||||
|
|
||||||
.. versionchanged:: 1.10.1
|
|
||||||
|
|
||||||
Older versions don't have the exception for
|
|
||||||
:class:`~django.forms.CheckboxInput` which means that unchecked checkboxes
|
|
||||||
receive a value of ``True`` if that's the model field default.
|
|
||||||
|
|
||||||
.. versionchanged:: 1.10.2
|
|
||||||
|
|
||||||
The :meth:`~django.forms.Widget.value_omitted_from_data` method was added.
|
|
||||||
|
|
||||||
This ``save()`` method accepts an optional ``commit`` keyword argument, which
|
This ``save()`` method accepts an optional ``commit`` keyword argument, which
|
||||||
accepts either ``True`` or ``False``. If you call ``save()`` with
|
accepts either ``True`` or ``False``. If you call ``save()`` with
|
||||||
``commit=False``, then it will return an object that hasn't yet been saved to
|
``commit=False``, then it will return an object that hasn't yet been saved to
|
||||||
|
|
|
@ -86,15 +86,6 @@ caveats:
|
||||||
* Unlike the ``__call__()`` method which is called once per request,
|
* Unlike the ``__call__()`` method which is called once per request,
|
||||||
``__init__()`` is called only *once*, when the Web server starts.
|
``__init__()`` is called only *once*, when the Web server starts.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In older versions, ``__init__()`` wasn't called until the Web server
|
|
||||||
responded to its first request.
|
|
||||||
|
|
||||||
In older versions, ``__init__()`` didn't accept any arguments. To allow
|
|
||||||
your middleware to be used in Django 1.9 and earlier, make ``get_response``
|
|
||||||
an optional argument (``get_response=None``).
|
|
||||||
|
|
||||||
Marking middleware as unused
|
Marking middleware as unused
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
|
|
|
@ -988,8 +988,6 @@ The ``JavaScriptCatalog`` view
|
||||||
|
|
||||||
.. module:: django.views.i18n
|
.. module:: django.views.i18n
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
.. class:: JavaScriptCatalog
|
.. class:: JavaScriptCatalog
|
||||||
|
|
||||||
A view that produces a JavaScript code library with functions that mimic
|
A view that produces a JavaScript code library with functions that mimic
|
||||||
|
@ -1216,8 +1214,6 @@ will render a conditional expression. This will evaluate to either a ``true``
|
||||||
The ``JSONCatalog`` view
|
The ``JSONCatalog`` view
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
.. class:: JSONCatalog
|
.. class:: JSONCatalog
|
||||||
|
|
||||||
In order to use another client-side library to handle translations, you may
|
In order to use another client-side library to handle translations, you may
|
||||||
|
@ -1379,22 +1375,12 @@ will be::
|
||||||
>>> reverse('news:index')
|
>>> reverse('news:index')
|
||||||
'/nl/news/'
|
'/nl/news/'
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
The ``prefix_default_language`` parameter was added.
|
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
:func:`~django.conf.urls.i18n.i18n_patterns` is only allowed in a root
|
:func:`~django.conf.urls.i18n.i18n_patterns` is only allowed in a root
|
||||||
URLconf. Using it within an included URLconf will throw an
|
URLconf. Using it within an included URLconf will throw an
|
||||||
:exc:`~django.core.exceptions.ImproperlyConfigured` exception.
|
:exc:`~django.core.exceptions.ImproperlyConfigured` exception.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In older version, using ``i18n_patterns`` in a root URLconf different from
|
|
||||||
:setting:`ROOT_URLCONF` by setting :attr:`request.urlconf
|
|
||||||
<django.http.HttpRequest.urlconf>` wasn't supported.
|
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
Ensure that you don't have non-prefixed URL patterns that might collide
|
Ensure that you don't have non-prefixed URL patterns that might collide
|
||||||
|
@ -1814,11 +1800,6 @@ set, to ``/``, depending on the nature of the request:
|
||||||
parameter was set. Otherwise a 204 status code (No Content) will be returned.
|
parameter was set. Otherwise a 204 status code (No Content) will be returned.
|
||||||
* For non-AJAX requests, the fallback will always be performed.
|
* For non-AJAX requests, the fallback will always be performed.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
Returning a 204 status code for AJAX requests when no redirect is specified
|
|
||||||
is new.
|
|
||||||
|
|
||||||
Here's example HTML template code:
|
Here's example HTML template code:
|
||||||
|
|
||||||
.. code-block:: html+django
|
.. code-block:: html+django
|
||||||
|
|
|
@ -481,8 +481,6 @@ Messages to this logger have the following extra context:
|
||||||
``django.server``
|
``django.server``
|
||||||
~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
Log messages related to the handling of requests received by the server invoked
|
Log messages related to the handling of requests received by the server invoked
|
||||||
by the :djadmin:`runserver` command. HTTP 5XX responses are logged as ``ERROR``
|
by the :djadmin:`runserver` command. HTTP 5XX responses are logged as ``ERROR``
|
||||||
messages, 4XX responses are logged as ``WARNING`` messages, and everything else
|
messages, 4XX responses are logged as ``WARNING`` messages, and everything else
|
||||||
|
@ -584,10 +582,6 @@ Messages to this logger have ``params`` and ``sql`` in their extra context (but
|
||||||
unlike ``django.db.backends``, not duration). The values have the same meaning
|
unlike ``django.db.backends``, not duration). The values have the same meaning
|
||||||
as explained in :ref:`django-db-logger`.
|
as explained in :ref:`django-db-logger`.
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
The ``extra`` context was added.
|
|
||||||
|
|
||||||
Handlers
|
Handlers
|
||||||
--------
|
--------
|
||||||
|
|
||||||
|
|
|
@ -314,11 +314,6 @@ new migrations until it's fixed. When using multiple databases, you can use the
|
||||||
<topics-db-multi-db-routing>` to control which databases
|
<topics-db-multi-db-routing>` to control which databases
|
||||||
:djadmin:`makemigrations` checks for consistent history.
|
:djadmin:`makemigrations` checks for consistent history.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
Migration consistency checks were added. Checks based on database routers
|
|
||||||
were added in 1.10.1.
|
|
||||||
|
|
||||||
Adding migrations to apps
|
Adding migrations to apps
|
||||||
=========================
|
=========================
|
||||||
|
|
||||||
|
@ -679,10 +674,6 @@ Django can serialize the following:
|
||||||
- Any class reference (must be in module's top-level scope)
|
- Any class reference (must be in module's top-level scope)
|
||||||
- Anything with a custom ``deconstruct()`` method (:ref:`see below <custom-deconstruct-method>`)
|
- Anything with a custom ``deconstruct()`` method (:ref:`see below <custom-deconstruct-method>`)
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
Serialization support for ``enum.Enum`` was added.
|
|
||||||
|
|
||||||
.. versionchanged:: 1.11
|
.. versionchanged:: 1.11
|
||||||
|
|
||||||
Serialization support for ``uuid.UUID`` was added.
|
Serialization support for ``uuid.UUID`` was added.
|
||||||
|
|
|
@ -305,10 +305,6 @@ The JSON serializer uses ``DjangoJSONEncoder`` for encoding. A subclass of
|
||||||
:class:`~decimal.Decimal`, ``Promise`` (``django.utils.functional.lazy()`` objects), :class:`~uuid.UUID`
|
:class:`~decimal.Decimal`, ``Promise`` (``django.utils.functional.lazy()`` objects), :class:`~uuid.UUID`
|
||||||
A string representation of the object.
|
A string representation of the object.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
Support for ``Promise`` was added.
|
|
||||||
|
|
||||||
.. versionchanged:: 1.11
|
.. versionchanged:: 1.11
|
||||||
|
|
||||||
Support for :class:`~datetime.timedelta` was added.
|
Support for :class:`~datetime.timedelta` was added.
|
||||||
|
|
|
@ -308,10 +308,6 @@ applications. This generic name was kept for backwards-compatibility.
|
||||||
|
|
||||||
Only set it to ``False`` if you're rendering non-HTML templates!
|
Only set it to ``False`` if you're rendering non-HTML templates!
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
The ``autoescape`` option was added.
|
|
||||||
|
|
||||||
* ``'context_processors'``: a list of dotted Python paths to callables that
|
* ``'context_processors'``: a list of dotted Python paths to callables that
|
||||||
are used to populate the context when a template is rendered with a request.
|
are used to populate the context when a template is rendered with a request.
|
||||||
These callables take a request object as their argument and return a
|
These callables take a request object as their argument and return a
|
||||||
|
|
|
@ -371,12 +371,6 @@ Use the ``django.test.Client`` class to make requests.
|
||||||
:meth:`~django.contrib.auth.models.UserManager.create_user` helper
|
:meth:`~django.contrib.auth.models.UserManager.create_user` helper
|
||||||
method to create a new user with a correctly hashed password.
|
method to create a new user with a correctly hashed password.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
In previous versions, inactive users (:attr:`is_active=False
|
|
||||||
<django.contrib.auth.models.User.is_active>`) were not permitted
|
|
||||||
to login.
|
|
||||||
|
|
||||||
.. method:: Client.force_login(user, backend=None)
|
.. method:: Client.force_login(user, backend=None)
|
||||||
|
|
||||||
If your site uses Django's :doc:`authentication
|
If your site uses Django's :doc:`authentication
|
||||||
|
@ -795,11 +789,6 @@ The class:
|
||||||
|
|
||||||
* Checks deferrable database constraints at the end of each test.
|
* Checks deferrable database constraints at the end of each test.
|
||||||
|
|
||||||
.. versionchanged:: 1.10
|
|
||||||
|
|
||||||
The check for deferrable database constraints at the end of each test was
|
|
||||||
added.
|
|
||||||
|
|
||||||
It also provides an additional method:
|
It also provides an additional method:
|
||||||
|
|
||||||
.. classmethod:: TestCase.setUpTestData()
|
.. classmethod:: TestCase.setUpTestData()
|
||||||
|
@ -1604,8 +1593,6 @@ your test suite.
|
||||||
Tagging tests
|
Tagging tests
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
.. versionadded:: 1.10
|
|
||||||
|
|
||||||
You can tag your tests so you can easily run a particular subset. For example,
|
You can tag your tests so you can easily run a particular subset. For example,
|
||||||
you might label fast or slow tests::
|
you might label fast or slow tests::
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue