mirror of https://github.com/django/django.git
Removed versionadded/changed annotations for 4.2.
This also removes remaining versionadded/changed annotations for older versions.
This commit is contained in:
parent
590a31eb10
commit
295467c04a
|
@ -125,8 +125,6 @@ obtain an alternative name.
|
|||
Use your custom storage engine
|
||||
==============================
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
The first step to using your custom storage with Django is to tell Django about
|
||||
the file storage backend you'll be using. This is done using the
|
||||
:setting:`STORAGES` setting. This setting maps storage aliases, which are a way
|
||||
|
|
|
@ -306,10 +306,6 @@ following attributes and methods:
|
|||
|
||||
re.compile(r"API|TOKEN|KEY|SECRET|PASS|SIGNATURE|HTTP_COOKIE", flags=re.IGNORECASE)
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
``HTTP_COOKIE`` was added.
|
||||
|
||||
.. method:: is_active(request)
|
||||
|
||||
Returns ``True`` to activate the filtering in
|
||||
|
|
|
@ -106,10 +106,6 @@ provide storage backends for many common file storage APIs. A good starting
|
|||
point is the `overview at djangopackages.org
|
||||
<https://djangopackages.org/grids/g/storage-backends/>`_.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
The :setting:`STORAGES` setting was added.
|
||||
|
||||
Learn more
|
||||
==========
|
||||
|
||||
|
|
|
@ -262,11 +262,6 @@ documentation:
|
|||
also need to define a reference to the documentation for that environment
|
||||
variable using :rst:dir:`.. envvar:: <envvar>`.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
All Python code blocks in the Django documentation were reformatted with
|
||||
:pypi:`blacken-docs`.
|
||||
|
||||
Django-specific markup
|
||||
======================
|
||||
|
||||
|
|
|
@ -2142,10 +2142,6 @@ forms or widgets depending on ``django.jQuery`` must specify
|
|||
``js=['admin/js/jquery.init.js', …]`` when :ref:`declaring form media assets
|
||||
<assets-as-a-static-definition>`.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
jQuery was upgraded from 3.6.0 to 3.6.4.
|
||||
|
||||
.. versionchanged:: 5.0
|
||||
|
||||
jQuery was upgraded from 3.6.4 to 3.7.1.
|
||||
|
|
|
@ -716,10 +716,6 @@ Utility functions
|
|||
backend's ``get_user()`` method, or if the session auth hash doesn't
|
||||
validate.
|
||||
|
||||
.. versionchanged:: 4.1.8
|
||||
|
||||
Fallback verification with :setting:`SECRET_KEY_FALLBACKS` was added.
|
||||
|
||||
.. versionchanged:: 5.0
|
||||
|
||||
``aget_user()`` function was added.
|
||||
|
|
|
@ -354,8 +354,6 @@ are returned unchanged.
|
|||
``FromWKB``
|
||||
===========
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
.. class:: FromWKB(expression, **extra)
|
||||
|
||||
*Availability*: MariaDB, `MySQL
|
||||
|
@ -367,8 +365,6 @@ Creates geometry from `Well-known binary (WKB)`_ representation.
|
|||
``FromWKT``
|
||||
===========
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
.. class:: FromWKT(expression, **extra)
|
||||
|
||||
*Availability*: MariaDB, `MySQL
|
||||
|
@ -421,8 +417,6 @@ intersection between them.
|
|||
``IsEmpty``
|
||||
===========
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
.. class:: IsEmpty(expr)
|
||||
|
||||
*Availability*: `PostGIS <https://postgis.net/docs/ST_IsEmpty.html>`__
|
||||
|
|
|
@ -1282,10 +1282,6 @@ blue.
|
|||
>>> rst.name # Stored in a random path in the vsimem filesystem.
|
||||
'/vsimem/da300bdb-129d-49a8-b336-e410a9428dad'
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
Support for :class:`pathlib.Path` ``ds_input`` was added.
|
||||
|
||||
.. attribute:: name
|
||||
|
||||
The name of the source which is equivalent to the input file path or the name
|
||||
|
|
|
@ -23,10 +23,6 @@ __ https://dev.maxmind.com/geoip/geolite2-free-geolocation-data
|
|||
__ https://db-ip.com/db/lite.php
|
||||
__ https://github.com/maxmind/libmaxminddb/
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
Support for ``.mmdb`` files downloaded from DB-IP was added.
|
||||
|
||||
Example
|
||||
=======
|
||||
|
||||
|
|
|
@ -351,8 +351,6 @@ SpatiaLite ``Intersects(poly, geom)``
|
|||
``isempty``
|
||||
-----------
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
*Availability*: `PostGIS <https://postgis.net/docs/ST_IsEmpty.html>`__
|
||||
|
||||
Tests if the geometry is empty.
|
||||
|
|
|
@ -22,10 +22,6 @@ platform-specific instructions if you are on :ref:`macos` or :ref:`windows`.
|
|||
.. _PostGIS requirements: https://postgis.net/docs/postgis_installation.html#install_requirements
|
||||
.. _build from source: https://postgis.net/docs/postgis_installation.html#install_short_version
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
Support for ``psycopg`` 3.1.8+ was added.
|
||||
|
||||
Post-installation
|
||||
=================
|
||||
|
||||
|
|
|
@ -60,8 +60,3 @@ Would output::
|
|||
When the ``fields`` parameter is not specified, the ``geojson`` serializer adds
|
||||
a ``pk`` key to the ``properties`` dictionary with the primary key of the
|
||||
object as the value.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
The ``id`` key for serialized features was added. Also, the ``id_field``
|
||||
option was added to the ``geojson`` serializer.
|
||||
|
|
|
@ -196,11 +196,6 @@ the SQL operator ``&&``. For example:
|
|||
>>> Post.objects.filter(tags__overlap=Post.objects.values_list("tags"))
|
||||
<QuerySet [<Post: First post>, <Post: Second post>, <Post: Third post>]>
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
Support for ``QuerySet.values()`` and ``values_list()`` as a right-hand
|
||||
side was added.
|
||||
|
||||
.. fieldlookup:: arrayfield.len
|
||||
|
||||
``len``
|
||||
|
|
|
@ -61,8 +61,6 @@ The ``trigram_word_similar`` lookup can be used on
|
|||
``trigram_strict_word_similar``
|
||||
-------------------------------
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
Similar to :lookup:`trigram_word_similar`, except that it forces extent
|
||||
boundaries to match word boundaries.
|
||||
|
||||
|
|
|
@ -378,8 +378,6 @@ Usage example:
|
|||
|
||||
.. class:: TrigramStrictWordSimilarity(string, expression, **extra)
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
Accepts a string or expression, and a field name or expression. Returns the
|
||||
trigram strict word similarity between the two arguments. Similar to
|
||||
:class:`TrigramWordSimilarity() <TrigramWordSimilarity>`, except that it forces
|
||||
|
@ -436,7 +434,5 @@ Usage example:
|
|||
|
||||
.. class:: TrigramStrictWordDistance(string, expression, **extra)
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
Accepts a string or expression, and a field name or expression. Returns the
|
||||
trigram strict word distance between the two arguments.
|
||||
|
|
|
@ -316,8 +316,6 @@ Note:
|
|||
|
||||
.. method:: Sitemap.get_languages_for_item(item)
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
**Optional.** A method that returns the sequence of language codes for
|
||||
which the item is displayed. By default
|
||||
:meth:`~Sitemap.get_languages_for_item` returns
|
||||
|
|
|
@ -345,15 +345,8 @@ argument. For example::
|
|||
commented out. This :ticket:`may crash on the nonexistent paths <21080>`.
|
||||
You should check and eventually strip comments.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
Experimental optional support for finding paths to JavaScript modules in
|
||||
``import`` and ``export`` statements was added.
|
||||
|
||||
.. attribute:: storage.ManifestStaticFilesStorage.manifest_hash
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
This attribute provides a single hash that changes whenever a file in the
|
||||
manifest changes. This can be useful to communicate to SPAs that the assets on
|
||||
the server have changed (due to a new deployment).
|
||||
|
|
|
@ -122,10 +122,6 @@ Django supports PostgreSQL 12 and higher. `psycopg`_ 3.1.8+ or `psycopg2`_
|
|||
Support for ``psycopg2`` is likely to be deprecated and removed at some
|
||||
point in the future.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
Support for ``psycopg`` 3.1.8+ was added.
|
||||
|
||||
.. _postgresql-connection-settings:
|
||||
|
||||
PostgreSQL connection settings
|
||||
|
@ -223,17 +219,11 @@ configuration in :setting:`DATABASES`::
|
|||
|
||||
.. _isolation level: https://www.postgresql.org/docs/current/transaction-iso.html
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
``IsolationLevel`` was added.
|
||||
|
||||
.. _database-role:
|
||||
|
||||
Role
|
||||
----
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
If you need to use a different role for database connections than the role use
|
||||
to establish the connection, set it in the :setting:`OPTIONS` part of your
|
||||
database configuration in :setting:`DATABASES`::
|
||||
|
@ -253,8 +243,6 @@ database configuration in :setting:`DATABASES`::
|
|||
Server-side parameters binding
|
||||
------------------------------
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
With `psycopg`_ 3.1.8+, Django defaults to the :ref:`client-side binding
|
||||
cursors <psycopg:client-side-binding-cursors>`. If you want to use the
|
||||
:ref:`server-side binding <psycopg:server-side-binding>` set it in the
|
||||
|
|
|
@ -744,11 +744,6 @@ Generate migration files without Django version and timestamp header.
|
|||
Makes ``makemigrations`` exit with a non-zero status when model changes without
|
||||
migrations are detected.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
In older versions, the missing migrations were also created when using the
|
||||
``--check`` option.
|
||||
|
||||
.. django-admin-option:: --scriptable
|
||||
|
||||
Diverts log output and input prompts to ``stderr``, writing only paths of
|
||||
|
@ -756,8 +751,6 @@ generated migration files to ``stdout``.
|
|||
|
||||
.. django-admin-option:: --update
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
Merges model changes into the latest migration and optimize the resulting
|
||||
operations.
|
||||
|
||||
|
|
|
@ -47,8 +47,6 @@ Django core exception classes are defined in ``django.core.exceptions``.
|
|||
|
||||
.. exception:: FullResultSet
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
``FullResultSet`` may be raised during query generation if a query will
|
||||
match everything. Most Django projects won't encounter this exception, but
|
||||
it might be useful for implementing custom lookups and expressions.
|
||||
|
@ -102,10 +100,6 @@ Django core exception classes are defined in ``django.core.exceptions``.
|
|||
a :class:`~django.http.HttpResponseBadRequest`. See the :doc:`logging
|
||||
documentation </topics/logging/>` for more information.
|
||||
|
||||
.. versionchanged:: 3.2.18
|
||||
|
||||
``SuspiciousOperation`` is raised when too many files are submitted.
|
||||
|
||||
``PermissionDenied``
|
||||
--------------------
|
||||
|
||||
|
|
|
@ -11,8 +11,6 @@ Django provides convenient ways to access the default storage class:
|
|||
|
||||
.. data:: storages
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
Storage instances as defined by :setting:`STORAGES`.
|
||||
|
||||
.. class:: DefaultStorage
|
||||
|
@ -88,8 +86,6 @@ The ``FileSystemStorage`` class
|
|||
The ``InMemoryStorage`` class
|
||||
=============================
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
.. class:: InMemoryStorage(location=None, base_url=None, file_permissions_mode=None, directory_permissions_mode=None)
|
||||
|
||||
The :class:`~django.core.files.storage.InMemoryStorage` class implements
|
||||
|
|
|
@ -656,10 +656,6 @@ For each field, we describe the default widget used if you don't specify
|
|||
``empty_value`` which work just as they do for :class:`CharField`. The
|
||||
``max_length`` argument defaults to 320 (see :rfc:`3696#section-3`).
|
||||
|
||||
.. versionchanged:: 3.2.20
|
||||
|
||||
The default value for ``max_length`` was changed to 320 characters.
|
||||
|
||||
``FileField``
|
||||
-------------
|
||||
|
||||
|
|
|
@ -199,11 +199,6 @@ This logging does not include framework-level initialization (e.g.
|
|||
``SET TIMEZONE``). Turn on query logging in your database if you wish to view
|
||||
all database queries.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
Support for logging transaction management queries (``BEGIN``, ``COMMIT``,
|
||||
and ``ROLLBACK``) was added.
|
||||
|
||||
.. _django-security-logger:
|
||||
|
||||
``django.security.*``
|
||||
|
|
|
@ -118,10 +118,6 @@ GZip middleware
|
|||
.. _breachattack.com: https://www.breachattack.com/
|
||||
.. _Heal The Breach (HTB) paper: https://ieeexplore.ieee.org/document/9754554
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
Mitigation for the BREACH attack was added.
|
||||
|
||||
The ``django.middleware.gzip.GZipMiddleware`` compresses content for browsers
|
||||
that understand GZip compression (all modern browsers).
|
||||
|
||||
|
|
|
@ -91,8 +91,6 @@ option on the ``Meta`` subclass).
|
|||
``AlterModelTableComment``
|
||||
--------------------------
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
.. class:: AlterModelTableComment(name, table_comment)
|
||||
|
||||
Changes the model's table comment (the
|
||||
|
|
|
@ -567,11 +567,6 @@ Usage example:
|
|||
On Oracle, the SQL ``LOCALTIMESTAMP`` is used to avoid issues with casting
|
||||
``CURRENT_TIMESTAMP`` to ``DateTimeField``.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
Support for microsecond precision on MySQL and millisecond precision on
|
||||
SQLite were added.
|
||||
|
||||
.. versionchanged:: 5.0
|
||||
|
||||
In older versions, the SQL ``CURRENT_TIMESTAMP`` was used on Oracle instead
|
||||
|
|
|
@ -282,8 +282,6 @@ is null) after companies that have been contacted::
|
|||
Using ``F()`` with logical operations
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
``F()`` expressions that output ``BooleanField`` can be logically negated with
|
||||
the inversion operator ``~F()``. For example, to swap the activation status of
|
||||
companies::
|
||||
|
@ -876,10 +874,6 @@ from groups to be included:
|
|||
NotImplementedError: Heterogeneous disjunctive predicates against window functions
|
||||
are not implemented when performing conditional aggregation.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
Support for filtering against window functions was added.
|
||||
|
||||
Among Django's built-in database backends, MySQL, PostgreSQL, and Oracle
|
||||
support window expressions. Support for different window expression features
|
||||
varies among the different databases. For example, the options in
|
||||
|
@ -1100,10 +1094,6 @@ calling the appropriate methods on the wrapped expression.
|
|||
nested expressions. ``F()`` objects, in particular, hold a reference
|
||||
to a column.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
The ``alias=None`` keyword argument was removed.
|
||||
|
||||
.. method:: asc(nulls_first=None, nulls_last=None)
|
||||
|
||||
Returns the expression ready to be sorted in ascending order.
|
||||
|
|
|
@ -392,8 +392,6 @@ scenes.
|
|||
``db_comment``
|
||||
--------------
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
.. attribute:: Field.db_comment
|
||||
|
||||
The comment on the database column to use for this field. It is useful for
|
||||
|
@ -740,10 +738,6 @@ The default form widget for this field is a :class:`~django.forms.TextInput`.
|
|||
``max_length`` for some backends. Refer to the :doc:`database backend
|
||||
notes </ref/databases>` for details.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
Support for unlimited ``VARCHAR`` columns was added on PostgreSQL.
|
||||
|
||||
.. attribute:: CharField.db_collation
|
||||
|
||||
Optional. The database collation name of the field.
|
||||
|
@ -2469,11 +2463,6 @@ Registering and fetching lookups
|
|||
The API can be used to customize which lookups are available for a field class
|
||||
and its instances, and how lookups are fetched from a field.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
Support for registering lookups on :class:`~django.db.models.Field`
|
||||
instances was added.
|
||||
|
||||
.. _model-field-attributes:
|
||||
|
||||
=========================
|
||||
|
|
|
@ -200,10 +200,6 @@ all of the instance's fields when a deferred field is reloaded::
|
|||
A helper method that returns a set containing the attribute names of all those
|
||||
fields that are currently deferred for this model.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
``arefresh_from_db()`` method was added.
|
||||
|
||||
.. _validating-objects:
|
||||
|
||||
Validating objects
|
||||
|
@ -426,10 +422,6 @@ method. See :ref:`overriding-model-methods` for more details.
|
|||
|
||||
The model save process also has some subtleties; see the sections below.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
``asave()`` method was added.
|
||||
|
||||
Auto-incrementing primary keys
|
||||
------------------------------
|
||||
|
||||
|
@ -709,10 +701,6 @@ Sometimes with :ref:`multi-table inheritance <multi-table-inheritance>` you may
|
|||
want to delete only a child model's data. Specifying ``keep_parents=True`` will
|
||||
keep the parent model's data.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
``adelete()`` method was added.
|
||||
|
||||
Pickling objects
|
||||
================
|
||||
|
||||
|
|
|
@ -82,11 +82,6 @@ For a class to be a lookup, it must follow the :ref:`Query Expression API
|
|||
<query-expression>`. :class:`~Lookup` and :class:`~Transform` naturally
|
||||
follow this API.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
Support for registering lookups on :class:`~django.db.models.Field`
|
||||
instances was added.
|
||||
|
||||
.. _query-expression:
|
||||
|
||||
The Query Expression API
|
||||
|
|
|
@ -94,8 +94,6 @@ Django quotes column and table names behind the scenes.
|
|||
``db_table_comment``
|
||||
--------------------
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
.. attribute:: Options.db_table_comment
|
||||
|
||||
The comment on the database table to use for this model. It is useful for
|
||||
|
|
|
@ -2353,11 +2353,6 @@ Like :meth:`get_or_create` and :meth:`create`, if you're using manually
|
|||
specified primary keys and an object needs to be created but the key already
|
||||
exists in the database, an :exc:`~django.db.IntegrityError` is raised.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
In older versions, ``update_or_create()`` didn't specify ``update_fields``
|
||||
when calling :meth:`Model.save() <django.db.models.Model.save>`.
|
||||
|
||||
.. versionchanged:: 5.0
|
||||
|
||||
The ``create_defaults`` argument was added.
|
||||
|
|
|
@ -84,10 +84,6 @@ Related objects reference
|
|||
dictionary and they will be evaluated once before creating any
|
||||
intermediate instance(s).
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
``aadd()`` method was added.
|
||||
|
||||
.. method:: create(through_defaults=None, **kwargs)
|
||||
.. method:: acreate(through_defaults=None, **kwargs)
|
||||
|
||||
|
@ -168,10 +164,6 @@ Related objects reference
|
|||
For many-to-many relationships, the ``bulk`` keyword argument doesn't
|
||||
exist.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
``aremove()`` method was added.
|
||||
|
||||
.. method:: clear(bulk=True)
|
||||
.. method:: aclear(bulk=True)
|
||||
|
||||
|
@ -194,10 +186,6 @@ Related objects reference
|
|||
For many-to-many relationships, the ``bulk`` keyword argument doesn't
|
||||
exist.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
``aclear()`` method was added.
|
||||
|
||||
.. method:: set(objs, bulk=True, clear=False, through_defaults=None)
|
||||
.. method:: aset(objs, bulk=True, clear=False, through_defaults=None)
|
||||
|
||||
|
@ -236,10 +224,6 @@ Related objects reference
|
|||
dictionary and they will be evaluated once before creating any
|
||||
intermediate instance(s).
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
``aset()`` method was added.
|
||||
|
||||
.. note::
|
||||
|
||||
Note that ``add()``, ``aadd()``, ``create()``, ``acreate()``,
|
||||
|
|
|
@ -1246,10 +1246,6 @@ with the following notable differences:
|
|||
The :class:`HttpResponseBase` base class is common between
|
||||
:class:`HttpResponse` and :class:`StreamingHttpResponse`.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
Support for asynchronous iteration was added.
|
||||
|
||||
Attributes
|
||||
----------
|
||||
|
||||
|
@ -1280,8 +1276,6 @@ Attributes
|
|||
|
||||
.. attribute:: StreamingHttpResponse.is_async
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
Boolean indicating whether :attr:`StreamingHttpResponse.streaming_content`
|
||||
is an asynchronous iterator or not.
|
||||
|
||||
|
|
|
@ -128,8 +128,6 @@ Renames the model's table from ``old_db_table`` to ``new_db_table``.
|
|||
``alter_db_table_comment()``
|
||||
----------------------------
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
.. method:: BaseDatabaseSchemaEditor.alter_db_table_comment(model, old_db_table_comment, new_db_table_comment)
|
||||
|
||||
Change the ``model``’s table comment to ``new_db_table_comment``.
|
||||
|
|
|
@ -1067,8 +1067,6 @@ perform a similar check at that level.
|
|||
``DATA_UPLOAD_MAX_NUMBER_FILES``
|
||||
--------------------------------
|
||||
|
||||
.. versionadded:: 3.2.18
|
||||
|
||||
Default: ``100``
|
||||
|
||||
The maximum number of files that may be received via POST in a
|
||||
|
@ -2597,8 +2595,6 @@ See also the :doc:`/ref/checks` documentation.
|
|||
``STORAGES``
|
||||
------------
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
Default::
|
||||
|
||||
{
|
||||
|
|
|
@ -244,11 +244,6 @@ Outputs a whole load of debugging information, including the current context
|
|||
and imported modules. ``{% debug %}`` outputs nothing when the :setting:`DEBUG`
|
||||
setting is ``False``.
|
||||
|
||||
.. versionchanged:: 2.2.27
|
||||
|
||||
In older versions, debugging information was displayed when the
|
||||
:setting:`DEBUG` setting was ``False``.
|
||||
|
||||
.. templatetag:: extends
|
||||
|
||||
``extends``
|
||||
|
@ -1803,11 +1798,6 @@ produce empty output:
|
|||
|
||||
Ordering by elements at specified index is not supported on dictionaries.
|
||||
|
||||
.. versionchanged:: 2.2.26
|
||||
|
||||
In older versions, ordering elements at specified index was supported on
|
||||
dictionaries.
|
||||
|
||||
.. templatefilter:: dictsortreversed
|
||||
|
||||
``dictsortreversed``
|
||||
|
|
|
@ -79,11 +79,6 @@ pattern (:py:func:`re.fullmatch` is used).
|
|||
The ``view``, ``kwargs`` and ``name`` arguments are the same as for
|
||||
:func:`~django.urls.path()`.
|
||||
|
||||
.. versionchanged:: 2.2.25
|
||||
|
||||
In older versions, a full-match wasn't required for a ``route`` which ends
|
||||
with ``$``.
|
||||
|
||||
``include()``
|
||||
=============
|
||||
|
||||
|
|
|
@ -685,10 +685,6 @@ escaping HTML.
|
|||
serialize the data. See :ref:`JSON serialization
|
||||
<serialization-formats-json>` for more details about this serializer.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
The ``encoder`` argument was added.
|
||||
|
||||
.. function:: strip_tags(value)
|
||||
|
||||
Tries to remove anything that looks like an HTML tag from the string, that
|
||||
|
@ -742,8 +738,6 @@ escaping HTML.
|
|||
|
||||
.. function:: content_disposition_header(as_attachment, filename)
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
Constructs a ``Content-Disposition`` HTTP header value from the given
|
||||
``filename`` as specified by :rfc:`6266`. Returns ``None`` if
|
||||
``as_attachment`` is ``False`` and ``filename`` is ``None``, otherwise
|
||||
|
|
|
@ -159,11 +159,6 @@ to, or in lieu of custom ``field.clean()`` methods.
|
|||
validation, so you'd need to add them to the ``allowlist`` as
|
||||
necessary.
|
||||
|
||||
.. versionchanged:: 3.2.20
|
||||
|
||||
In older versions, values longer than 320 characters could be
|
||||
considered valid.
|
||||
|
||||
``URLValidator``
|
||||
----------------
|
||||
|
||||
|
@ -190,16 +185,9 @@ to, or in lieu of custom ``field.clean()`` methods.
|
|||
|
||||
.. attribute:: max_length
|
||||
|
||||
.. versionadded:: 3.2.20
|
||||
|
||||
The maximum length of values that could be considered valid. Defaults
|
||||
to 2048 characters.
|
||||
|
||||
.. versionchanged:: 3.2.20
|
||||
|
||||
In older versions, values longer than 2048 characters could be
|
||||
considered valid.
|
||||
|
||||
``validate_email``
|
||||
------------------
|
||||
|
||||
|
|
|
@ -150,10 +150,6 @@ Transactions do not yet work in async mode. If you have a piece of code that
|
|||
needs transactions behavior, we recommend you write that piece as a single
|
||||
synchronous function and call it using :func:`sync_to_async`.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
Asynchronous model and related manager interfaces were added.
|
||||
|
||||
.. _async_performance:
|
||||
|
||||
Performance
|
||||
|
|
|
@ -731,8 +731,6 @@ The following attributes and methods are available on any subclass of
|
|||
|
||||
.. method:: models.AbstractBaseUser.get_session_auth_fallback_hash()
|
||||
|
||||
.. versionadded:: 4.1.8
|
||||
|
||||
Yields the HMAC of the password field using
|
||||
:setting:`SECRET_KEY_FALLBACKS`. Used by ``get_user()``.
|
||||
|
||||
|
@ -871,11 +869,6 @@ extend these forms in this manner::
|
|||
model = CustomUser
|
||||
fields = UserCreationForm.Meta.fields + ("custom_field",)
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
In older versions, :class:`~django.contrib.auth.forms.UserCreationForm`
|
||||
didn't save many-to-many form fields for a custom user model.
|
||||
|
||||
Custom users and :mod:`django.contrib.admin`
|
||||
--------------------------------------------
|
||||
|
||||
|
|
|
@ -1723,8 +1723,6 @@ provides several built-in forms located in :mod:`django.contrib.auth.forms`:
|
|||
|
||||
.. class:: BaseUserCreationForm
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
A :class:`~django.forms.ModelForm` for creating a new user. This is the
|
||||
recommended base class if you need to customize the user creation form.
|
||||
|
||||
|
@ -1741,13 +1739,6 @@ provides several built-in forms located in :mod:`django.contrib.auth.forms`:
|
|||
similar usernames, the form doesn't allow usernames that differ only in
|
||||
case.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
In older versions, :class:`UserCreationForm` didn't save many-to-many
|
||||
form fields for a custom user model.
|
||||
|
||||
In older versions, usernames that differ only in case are allowed.
|
||||
|
||||
.. currentmodule:: django.contrib.auth
|
||||
|
||||
Authentication data in templates
|
||||
|
|
|
@ -620,10 +620,6 @@ Django includes four validators:
|
|||
``user_attributes``, whereas a value of 1.0 rejects only passwords that are
|
||||
identical to an attribute's value.
|
||||
|
||||
.. versionchanged:: 2.2.26
|
||||
|
||||
The ``max_similarity`` parameter was limited to a minimum value of 0.1.
|
||||
|
||||
.. class:: CommonPasswordValidator(password_list_path=DEFAULT_PASSWORD_LIST_PATH)
|
||||
|
||||
Validates that the password is not a common password. This converts the
|
||||
|
@ -635,11 +631,6 @@ Django includes four validators:
|
|||
common passwords. This file should contain one lowercase password per line
|
||||
and may be plain text or gzipped.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
The list of 20,000 common passwords was updated to the most recent
|
||||
version.
|
||||
|
||||
.. class:: NumericPasswordValidator()
|
||||
|
||||
Validate that the password is not entirely numeric.
|
||||
|
|
|
@ -1085,11 +1085,6 @@ Unless you are sure you wish to work with SQL ``NULL`` values, consider setting
|
|||
Storing JSON scalar ``null`` does not violate :attr:`null=False
|
||||
<django.db.models.Field.null>`.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
Support for expressing JSON ``null`` using ``Value(None, JSONField())`` was
|
||||
added.
|
||||
|
||||
.. deprecated:: 4.2
|
||||
|
||||
Passing ``Value("null")`` to express JSON ``null`` is deprecated.
|
||||
|
@ -1162,8 +1157,6 @@ To query for missing keys, use the ``isnull`` lookup:
|
|||
``KT()`` expressions
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
.. module:: django.db.models.fields.json
|
||||
|
||||
.. class:: KT(lookup)
|
||||
|
|
|
@ -332,10 +332,6 @@ are caught and logged to the ``django.db.backends.base`` logger.
|
|||
You can use :meth:`.TestCase.captureOnCommitCallbacks` to test callbacks
|
||||
registered with :func:`on_commit`.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
The ``robust`` argument was added.
|
||||
|
||||
Savepoints
|
||||
----------
|
||||
|
||||
|
@ -382,10 +378,6 @@ transaction raises an uncaught exception, no later registered functions in that
|
|||
same transaction will run. This is the same behavior as if you'd executed the
|
||||
functions sequentially yourself without :func:`on_commit`.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
The ``robust`` argument was added.
|
||||
|
||||
Timing of execution
|
||||
-------------------
|
||||
|
||||
|
|
|
@ -272,7 +272,3 @@ use :data:`~django.core.files.storage.storages`::
|
|||
|
||||
class MyModel(models.Model):
|
||||
upload = models.FileField(storage=select_storage)
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
Support for ``storages`` was added.
|
||||
|
|
|
@ -676,10 +676,6 @@ the field declaratively and setting its ``validators`` parameter::
|
|||
See the :doc:`form field documentation </ref/forms/fields>` for more information
|
||||
on fields and their arguments.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
The ``Meta.formfield_callback`` attribute was added.
|
||||
|
||||
Enabling localization of fields
|
||||
-------------------------------
|
||||
|
||||
|
|
|
@ -230,14 +230,6 @@ uploads:
|
|||
instance (in a single field), for example, even if the custom widget is used
|
||||
with a form field related to a model ``FileField``.
|
||||
|
||||
.. versionchanged:: 3.2.19
|
||||
|
||||
In previous versions, there was no support for the ``allow_multiple_selected``
|
||||
class attribute, and users were advised to create the widget with the HTML
|
||||
attribute ``multiple`` set through the ``attrs`` argument. However, this
|
||||
caused validation of the form field to be applied only to the last file
|
||||
submitted, which could have adverse security implications.
|
||||
|
||||
Upload Handlers
|
||||
===============
|
||||
|
||||
|
|
|
@ -273,10 +273,6 @@ asynchronous iterators. The wrapping function must match. Check
|
|||
<django.http.StreamingHttpResponse.is_async>` if your middleware needs to
|
||||
support both types of iterator.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
Support for streaming responses with asynchronous iterators was added.
|
||||
|
||||
Exception handling
|
||||
==================
|
||||
|
||||
|
|
|
@ -741,11 +741,6 @@ In practice you'll use this to get a string you can use in multiple places in a
|
|||
template or so you can use the output as an argument for other template tags or
|
||||
filters.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
In older versions, ``asvar`` instances weren't marked as safe for (HTML)
|
||||
output purposes.
|
||||
|
||||
``{% blocktranslate %}`` also supports :ref:`contextual
|
||||
markers<contextual-markers>` using the ``context`` keyword:
|
||||
|
||||
|
|
|
@ -795,10 +795,6 @@ Django can serialize the following:
|
|||
- Any class reference (must be in module's top-level scope)
|
||||
- Anything with a custom ``deconstruct()`` method (:ref:`see below <custom-deconstruct-method>`)
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
Serialization support for ``enum.Flag`` was added.
|
||||
|
||||
.. versionchanged:: 5.0
|
||||
|
||||
Serialization support for functions decorated with :func:`functools.cache`
|
||||
|
|
|
@ -32,10 +32,6 @@ restricted subset of the test client API:
|
|||
attributes must be supplied by the test itself if required
|
||||
for the view to function properly.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
The ``headers`` parameter was added.
|
||||
|
||||
Example
|
||||
-------
|
||||
|
||||
|
@ -89,10 +85,6 @@ difference being that it returns ``ASGIRequest`` instances rather than
|
|||
Arbitrary keyword arguments in ``defaults`` are added directly into the ASGI
|
||||
scope.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
The ``headers`` parameter was added.
|
||||
|
||||
Testing class-based views
|
||||
=========================
|
||||
|
||||
|
|
|
@ -381,8 +381,6 @@ time to run tests.
|
|||
Avoiding disk access for media files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. versionadded:: 4.2
|
||||
|
||||
The :class:`~django.core.files.storage.InMemoryStorage` is a convenient way to
|
||||
prevent disk access for media files. All data is kept in memory, then it gets
|
||||
discarded after tests run.
|
||||
|
|
|
@ -158,10 +158,6 @@ Use the ``django.test.Client`` class to make requests.
|
|||
Once you have a ``Client`` instance, you can call any of the following
|
||||
methods:
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
The ``headers`` parameter was added.
|
||||
|
||||
.. method:: Client.get(path, data=None, follow=False, secure=False, *, headers=None, **extra)
|
||||
|
||||
Makes a GET request on the provided ``path`` and returns a ``Response``
|
||||
|
@ -234,10 +230,6 @@ Use the ``django.test.Client`` class to make requests.
|
|||
If you set ``secure`` to ``True`` the client will emulate an HTTPS
|
||||
request.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
The ``headers`` parameter was added.
|
||||
|
||||
.. method:: Client.post(path, data=None, content_type=MULTIPART_CONTENT, follow=False, secure=False, *, headers=None, **extra)
|
||||
|
||||
Makes a POST request on the provided ``path`` and returns a
|
||||
|
@ -351,10 +343,6 @@ Use the ``django.test.Client`` class to make requests.
|
|||
If you set ``secure`` to ``True`` the client will emulate an HTTPS
|
||||
request.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
The ``headers`` parameter was added.
|
||||
|
||||
.. method:: Client.head(path, data=None, follow=False, secure=False, *, headers=None, **extra)
|
||||
|
||||
Makes a HEAD request on the provided ``path`` and returns a
|
||||
|
@ -362,10 +350,6 @@ Use the ``django.test.Client`` class to make requests.
|
|||
including the ``follow``, ``secure``, ``headers``, and ``extra``
|
||||
parameters, except it does not return a message body.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
The ``headers`` parameter was added.
|
||||
|
||||
.. method:: Client.options(path, data='', content_type='application/octet-stream', follow=False, secure=False, *, headers=None, **extra)
|
||||
|
||||
Makes an OPTIONS request on the provided ``path`` and returns a
|
||||
|
@ -377,10 +361,6 @@ Use the ``django.test.Client`` class to make requests.
|
|||
The ``follow``, ``secure``, ``headers``, and ``extra`` parameters act
|
||||
the same as for :meth:`Client.get`.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
The ``headers`` parameter was added.
|
||||
|
||||
.. method:: Client.put(path, data='', content_type='application/octet-stream', follow=False, secure=False, *, headers=None, **extra)
|
||||
|
||||
Makes a PUT request on the provided ``path`` and returns a
|
||||
|
@ -392,10 +372,6 @@ Use the ``django.test.Client`` class to make requests.
|
|||
The ``follow``, ``secure``, ``headers``, and ``extra`` parameters act
|
||||
the same as for :meth:`Client.get`.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
The ``headers`` parameter was added.
|
||||
|
||||
.. method:: Client.patch(path, data='', content_type='application/octet-stream', follow=False, secure=False, *, headers=None, **extra)
|
||||
|
||||
Makes a PATCH request on the provided ``path`` and returns a
|
||||
|
@ -404,10 +380,6 @@ Use the ``django.test.Client`` class to make requests.
|
|||
The ``follow``, ``secure``, ``headers``, and ``extra`` parameters act
|
||||
the same as for :meth:`Client.get`.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
The ``headers`` parameter was added.
|
||||
|
||||
.. method:: Client.delete(path, data='', content_type='application/octet-stream', follow=False, secure=False, *, headers=None, **extra)
|
||||
|
||||
Makes a DELETE request on the provided ``path`` and returns a
|
||||
|
@ -419,10 +391,6 @@ Use the ``django.test.Client`` class to make requests.
|
|||
The ``follow``, ``secure``, ``headers``, and ``extra`` parameters act
|
||||
the same as for :meth:`Client.get`.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
The ``headers`` parameter was added.
|
||||
|
||||
.. method:: Client.trace(path, follow=False, secure=False, *, headers=None, **extra)
|
||||
|
||||
Makes a TRACE request on the provided ``path`` and returns a
|
||||
|
@ -435,10 +403,6 @@ Use the ``django.test.Client`` class to make requests.
|
|||
The ``follow``, ``secure``, ``headers``, and ``extra`` parameters act
|
||||
the same as for :meth:`Client.get`.
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
The ``headers`` parameter was added.
|
||||
|
||||
.. method:: Client.login(**credentials)
|
||||
.. method:: Client.alogin(**credentials)
|
||||
|
||||
|
@ -2041,10 +2005,6 @@ test client, with the following exceptions:
|
|||
>>> c = AsyncClient()
|
||||
>>> c.get("/customers/details/", {"name": "fred", "age": 7}, ACCEPT="application/json")
|
||||
|
||||
.. versionchanged:: 4.2
|
||||
|
||||
The ``headers`` parameter was added.
|
||||
|
||||
.. versionchanged:: 5.0
|
||||
|
||||
Support for the ``follow`` parameter was added to the ``AsyncClient``.
|
||||
|
|
Loading…
Reference in New Issue