From 3939cd279569fde44f557d79f20bb5b1a02440af Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Thu, 30 Oct 2025 12:38:17 +0100 Subject: [PATCH 01/44] Refs #36680 -- Fixed admin_scripts tests crash when black is not installed. Regression in 6436ec321073bf0622af815e0af08f54c97f9b30. --- tests/admin_scripts/tests.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/admin_scripts/tests.py b/tests/admin_scripts/tests.py index 9442822bd6..c01a5571dc 100644 --- a/tests/admin_scripts/tests.py +++ b/tests/admin_scripts/tests.py @@ -119,7 +119,8 @@ class AdminScriptTestCase(SimpleTestCase): path_component for path_component in os.environ.get("PATH", "").split(os.pathsep) for formatter_path in find_formatters().values() - if os.path.commonpath([path_component, formatter_path]) == os.sep + if formatter_path + and os.path.commonpath([path_component, formatter_path]) == os.sep ] ) From 340e4f832e1ea74a27770e38635bbc781979f2e0 Mon Sep 17 00:00:00 2001 From: Tim Schilling Date: Mon, 27 Oct 2025 10:01:04 -0500 Subject: [PATCH 02/44] Added community package storage backends mention to docs. Co-authored-by: Jacob Walls --- docs/ref/files/storage.txt | 9 +++++++++ docs/ref/settings.txt | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/docs/ref/files/storage.txt b/docs/ref/files/storage.txt index 85a1e3b926..6ed510889e 100644 --- a/docs/ref/files/storage.txt +++ b/docs/ref/files/storage.txt @@ -257,3 +257,12 @@ The ``Storage`` class Returns the URL where the contents of the file referenced by ``name`` can be accessed. For storage systems that don't support access by URL this will raise ``NotImplementedError`` instead. + +.. admonition:: There are community-maintained solutions too! + + Django has a vibrant ecosystem. There are storage backends + highlighted on the `Community Ecosystem`_ page. The Django Packages + `Storage Backends grid`_ has even more options for you! + +.. _Community Ecosystem: https://www.djangoproject.com/community/ecosystem/#storage-and-static-files +.. _Storage Backends grid: https://djangopackages.org/grids/g/storage-backends/ diff --git a/docs/ref/settings.txt b/docs/ref/settings.txt index 8ac7a194f6..c2cac541f7 100644 --- a/docs/ref/settings.txt +++ b/docs/ref/settings.txt @@ -2767,6 +2767,15 @@ backend definition in :setting:`STORAGES`. Defining this setting overrides the default value and is *not* merged with it. +.. admonition:: There are community maintained solutions too! + + Django has a vibrant ecosystem. There are storage backends + highlighted on the `Community Ecosystem`_ page. The Django Packages + `Storage Backends grid`_ has even more options for you! + +.. _Community Ecosystem: https://www.djangoproject.com/community/ecosystem/#storage-and-static-files +.. _Storage Backends grid: https://djangopackages.org/grids/g/storage-backends/ + .. setting:: TASKS ``TASKS`` From 601914722956cc41f1f2c53972d669ddee6ffc04 Mon Sep 17 00:00:00 2001 From: Patrick Rauscher Date: Thu, 30 Oct 2025 10:13:14 +0100 Subject: [PATCH 03/44] Fixed #36696 -- Fixed NameError when inspecting functions with deferred annotations. In Python 3.14, annotations are deferred by default, so we should not assume that the names in them have been imported unconditionally. --- django/utils/inspect.py | 16 +++++++++++++++- tests/utils_tests/test_inspect.py | 15 +++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/django/utils/inspect.py b/django/utils/inspect.py index 31f3cf994b..ac5e82ca14 100644 --- a/django/utils/inspect.py +++ b/django/utils/inspect.py @@ -1,10 +1,24 @@ import functools import inspect +from django.utils.version import PY314 + +if PY314: + import annotationlib + @functools.lru_cache(maxsize=512) def _get_func_parameters(func, remove_first): - parameters = tuple(inspect.signature(func).parameters.values()) + # As the annotations are not used in any case, inspect the signature with + # FORWARDREF to leave any deferred annotations unevaluated. + if PY314: + signature = inspect.signature( + func, annotation_format=annotationlib.Format.FORWARDREF + ) + else: + signature = inspect.signature(func) + + parameters = tuple(signature.parameters.values()) if remove_first: parameters = parameters[1:] return parameters diff --git a/tests/utils_tests/test_inspect.py b/tests/utils_tests/test_inspect.py index 38ea35ecfb..f6e82e5808 100644 --- a/tests/utils_tests/test_inspect.py +++ b/tests/utils_tests/test_inspect.py @@ -1,8 +1,13 @@ import subprocess import unittest +from typing import TYPE_CHECKING from django.shortcuts import aget_object_or_404 from django.utils import inspect +from django.utils.version import PY314 + +if TYPE_CHECKING: + from django.utils.safestring import SafeString class Person: @@ -103,6 +108,16 @@ class TestInspectMethods(unittest.TestCase): self.assertIs(inspect.func_accepts_kwargs(Person.all_kinds), True) self.assertIs(inspect.func_accepts_kwargs(Person().just_args), False) + @unittest.skipUnless(PY314, "Deferred annotations are Python 3.14+ only") + def test_func_accepts_kwargs_deferred_annotations(self): + + def func_with_annotations(self, name: str, complex: SafeString) -> None: + pass + + # Inspection fails with deferred annotations with python 3.14+. Earlier + # Python versions trigger the NameError on module initialization. + self.assertIs(inspect.func_accepts_kwargs(func_with_annotations), False) + class IsModuleLevelFunctionTestCase(unittest.TestCase): @classmethod From 05ba1a9228128614fb3c475f1c4bdf0160f44dba Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Fri, 31 Oct 2025 14:33:27 +0100 Subject: [PATCH 04/44] Fixed #36661 -- Added introspection of database-level delete options. --- django/core/management/commands/inspectdb.py | 13 +++++- django/db/backends/base/introspection.py | 16 ++++++- django/db/backends/mysql/base.py | 1 + django/db/backends/mysql/introspection.py | 34 +++++++++----- django/db/backends/oracle/introspection.py | 17 +++++-- .../db/backends/postgresql/introspection.py | 24 ++++++++-- django/db/backends/sqlite3/introspection.py | 16 +++++-- docs/releases/6.1.txt | 5 ++ tests/inspectdb/models.py | 8 ++++ tests/inspectdb/tests.py | 21 +++++++++ tests/introspection/models.py | 15 ++++++ tests/introspection/tests.py | 46 +++++++++++++++++-- 12 files changed, 185 insertions(+), 31 deletions(-) diff --git a/django/core/management/commands/inspectdb.py b/django/core/management/commands/inspectdb.py index 8c271498c6..e44edcfe91 100644 --- a/django/core/management/commands/inspectdb.py +++ b/django/core/management/commands/inspectdb.py @@ -4,6 +4,7 @@ import re from django.core.management.base import BaseCommand, CommandError from django.db import DEFAULT_DB_ALIAS, connections from django.db.models.constants import LOOKUP_SEP +from django.db.models.deletion import DatabaseOnDelete class Command(BaseCommand): @@ -163,7 +164,9 @@ class Command(BaseCommand): extra_params["unique"] = True if is_relation: - ref_db_column, ref_db_table = relations[column_name] + ref_db_column, ref_db_table, db_on_delete = relations[ + column_name + ] if extra_params.pop("unique", False) or extra_params.get( "primary_key" ): @@ -191,6 +194,8 @@ class Command(BaseCommand): model_name.lower(), att_name, ) + if db_on_delete and isinstance(db_on_delete, DatabaseOnDelete): + extra_params["on_delete"] = f"models.{db_on_delete}" used_relations.add(rel_to) else: # Calling `get_field_type` to get the field type string @@ -227,8 +232,12 @@ class Command(BaseCommand): "" if "." in field_type else "models.", field_type, ) + on_delete_qualname = extra_params.pop("on_delete", None) if field_type.startswith(("ForeignKey(", "OneToOneField(")): - field_desc += ", models.DO_NOTHING" + if on_delete_qualname: + field_desc += f", {on_delete_qualname}" + else: + field_desc += ", models.DO_NOTHING" # Add comment. if connection.features.supports_comments and row.comment: diff --git a/django/db/backends/base/introspection.py b/django/db/backends/base/introspection.py index 3a62ab6327..b86f5b6124 100644 --- a/django/db/backends/base/introspection.py +++ b/django/db/backends/base/introspection.py @@ -1,5 +1,7 @@ from collections import namedtuple +from django.db.models import DB_CASCADE, DB_SET_DEFAULT, DB_SET_NULL, DO_NOTHING + # Structure returned by DatabaseIntrospection.get_table_list() TableInfo = namedtuple("TableInfo", ["name", "type"]) @@ -15,6 +17,13 @@ class BaseDatabaseIntrospection: """Encapsulate backend-specific introspection utilities.""" data_types_reverse = {} + on_delete_types = { + "CASCADE": DB_CASCADE, + "NO ACTION": DO_NOTHING, + "SET DEFAULT": DB_SET_DEFAULT, + "SET NULL": DB_SET_NULL, + # DB_RESTRICT - "RESTRICT" is not supported. + } def __init__(self, connection): self.connection = connection @@ -169,8 +178,11 @@ class BaseDatabaseIntrospection: def get_relations(self, cursor, table_name): """ - Return a dictionary of {field_name: (field_name_other_table, - other_table)} representing all foreign keys in the given table. + Return a dictionary of + { + field_name: (field_name_other_table, other_table, db_on_delete) + } + representing all foreign keys in the given table. """ raise NotImplementedError( "subclasses of BaseDatabaseIntrospection may require a " diff --git a/django/db/backends/mysql/base.py b/django/db/backends/mysql/base.py index d4b98971fa..514db70d23 100644 --- a/django/db/backends/mysql/base.py +++ b/django/db/backends/mysql/base.py @@ -334,6 +334,7 @@ class DatabaseWrapper(BaseDatabaseWrapper): for column_name, ( referenced_column_name, referenced_table_name, + _, ) in relations.items(): cursor.execute( """ diff --git a/django/db/backends/mysql/introspection.py b/django/db/backends/mysql/introspection.py index 24f773f009..59105b4e76 100644 --- a/django/db/backends/mysql/introspection.py +++ b/django/db/backends/mysql/introspection.py @@ -196,24 +196,36 @@ class DatabaseIntrospection(BaseDatabaseIntrospection): def get_relations(self, cursor, table_name): """ - Return a dictionary of {field_name: (field_name_other_table, - other_table)} representing all foreign keys in the given table. + Return a dictionary of + { + field_name: (field_name_other_table, other_table, db_on_delete) + } + representing all foreign keys in the given table. """ cursor.execute( """ - SELECT column_name, referenced_column_name, referenced_table_name - FROM information_schema.key_column_usage - WHERE table_name = %s - AND table_schema = DATABASE() - AND referenced_table_schema = DATABASE() - AND referenced_table_name IS NOT NULL - AND referenced_column_name IS NOT NULL + SELECT + kcu.column_name, + kcu.referenced_column_name, + kcu.referenced_table_name, + rc.delete_rule + FROM + information_schema.key_column_usage kcu + JOIN + information_schema.referential_constraints rc + ON rc.constraint_name = kcu.constraint_name + AND rc.constraint_schema = kcu.constraint_schema + WHERE kcu.table_name = %s + AND kcu.table_schema = DATABASE() + AND kcu.referenced_table_schema = DATABASE() + AND kcu.referenced_table_name IS NOT NULL + AND kcu.referenced_column_name IS NOT NULL """, [table_name], ) return { - field_name: (other_field, other_table) - for field_name, other_field, other_table in cursor.fetchall() + field_name: (other_field, other_table, self.on_delete_types.get(on_delete)) + for field_name, other_field, other_table, on_delete in cursor.fetchall() } def get_storage_engine(self, cursor, table_name): diff --git a/django/db/backends/oracle/introspection.py b/django/db/backends/oracle/introspection.py index 12b9b9a097..6a0947f8ab 100644 --- a/django/db/backends/oracle/introspection.py +++ b/django/db/backends/oracle/introspection.py @@ -254,13 +254,16 @@ class DatabaseIntrospection(BaseDatabaseIntrospection): def get_relations(self, cursor, table_name): """ - Return a dictionary of {field_name: (field_name_other_table, - other_table)} representing all foreign keys in the given table. + Return a dictionary of + { + field_name: (field_name_other_table, other_table, db_on_delete) + } + representing all foreign keys in the given table. """ table_name = table_name.upper() cursor.execute( """ - SELECT ca.column_name, cb.table_name, cb.column_name + SELECT ca.column_name, cb.table_name, cb.column_name, user_constraints.delete_rule FROM user_constraints, USER_CONS_COLUMNS ca, USER_CONS_COLUMNS cb WHERE user_constraints.table_name = %s AND user_constraints.constraint_name = ca.constraint_name AND @@ -273,8 +276,14 @@ class DatabaseIntrospection(BaseDatabaseIntrospection): self.identifier_converter(field_name): ( self.identifier_converter(rel_field_name), self.identifier_converter(rel_table_name), + self.on_delete_types.get(on_delete), ) - for field_name, rel_table_name, rel_field_name in cursor.fetchall() + for ( + field_name, + rel_table_name, + rel_field_name, + on_delete, + ) in cursor.fetchall() } def get_primary_key_columns(self, cursor, table_name): diff --git a/django/db/backends/postgresql/introspection.py b/django/db/backends/postgresql/introspection.py index fc69e0a381..30edaf10da 100644 --- a/django/db/backends/postgresql/introspection.py +++ b/django/db/backends/postgresql/introspection.py @@ -3,7 +3,7 @@ from collections import namedtuple from django.db.backends.base.introspection import BaseDatabaseIntrospection from django.db.backends.base.introspection import FieldInfo as BaseFieldInfo from django.db.backends.base.introspection import TableInfo as BaseTableInfo -from django.db.models import Index +from django.db.models import DB_CASCADE, DB_SET_DEFAULT, DB_SET_NULL, DO_NOTHING, Index FieldInfo = namedtuple("FieldInfo", [*BaseFieldInfo._fields, "is_autofield", "comment"]) TableInfo = namedtuple("TableInfo", [*BaseTableInfo._fields, "comment"]) @@ -38,6 +38,14 @@ class DatabaseIntrospection(BaseDatabaseIntrospection): ignored_tables = [] + on_delete_types = { + "a": DO_NOTHING, + "c": DB_CASCADE, + "d": DB_SET_DEFAULT, + "n": DB_SET_NULL, + # DB_RESTRICT - "r" is not supported. + } + def get_field_type(self, data_type, description): field_type = super().get_field_type(data_type, description) if description.is_autofield or ( @@ -154,12 +162,15 @@ class DatabaseIntrospection(BaseDatabaseIntrospection): def get_relations(self, cursor, table_name): """ - Return a dictionary of {field_name: (field_name_other_table, - other_table)} representing all foreign keys in the given table. + Return a dictionary of + { + field_name: (field_name_other_table, other_table, db_on_delete) + } + representing all foreign keys in the given table. """ cursor.execute( """ - SELECT a1.attname, c2.relname, a2.attname + SELECT a1.attname, c2.relname, a2.attname, con.confdeltype FROM pg_constraint con LEFT JOIN pg_class c1 ON con.conrelid = c1.oid LEFT JOIN pg_class c2 ON con.confrelid = c2.oid @@ -175,7 +186,10 @@ class DatabaseIntrospection(BaseDatabaseIntrospection): """, [table_name], ) - return {row[0]: (row[2], row[1]) for row in cursor.fetchall()} + return { + row[0]: (row[2], row[1], self.on_delete_types.get(row[3])) + for row in cursor.fetchall() + } def get_constraints(self, cursor, table_name): """ diff --git a/django/db/backends/sqlite3/introspection.py b/django/db/backends/sqlite3/introspection.py index 1404c71e1e..b90f126505 100644 --- a/django/db/backends/sqlite3/introspection.py +++ b/django/db/backends/sqlite3/introspection.py @@ -153,20 +153,27 @@ class DatabaseIntrospection(BaseDatabaseIntrospection): def get_relations(self, cursor, table_name): """ - Return a dictionary of {column_name: (ref_column_name, ref_table_name)} + Return a dictionary of + {column_name: (ref_column_name, ref_table_name, db_on_delete)} representing all foreign keys in the given table. """ cursor.execute( "PRAGMA foreign_key_list(%s)" % self.connection.ops.quote_name(table_name) ) return { - column_name: (ref_column_name, ref_table_name) + column_name: ( + ref_column_name, + ref_table_name, + self.on_delete_types.get(on_delete), + ) for ( _, _, ref_table_name, column_name, ref_column_name, + _, + on_delete, *_, ) in cursor.fetchall() } @@ -407,7 +414,10 @@ class DatabaseIntrospection(BaseDatabaseIntrospection): "check": False, "index": False, } - for index, (column_name, (ref_column_name, ref_table_name)) in relations + for index, ( + column_name, + (ref_column_name, ref_table_name, _), + ) in relations } ) return constraints diff --git a/docs/releases/6.1.txt b/docs/releases/6.1.txt index dba26cca05..036fee53cf 100644 --- a/docs/releases/6.1.txt +++ b/docs/releases/6.1.txt @@ -314,6 +314,11 @@ backends. database has native support for ``DurationField``, override this method to simply return the value. +* The ``DatabaseIntrospection.get_relations()`` should now return a dictionary + with 3-tuples containing (``field_name_other_table``, ``other_table``, + ``db_on_delete``) as values. ``db_on_delete`` is one of the database-level + delete options e.g. :attr:`~django.db.models.DB_CASCADE`. + :mod:`django.contrib.gis` ------------------------- diff --git a/tests/inspectdb/models.py b/tests/inspectdb/models.py index 515a6cd207..3d6388a7be 100644 --- a/tests/inspectdb/models.py +++ b/tests/inspectdb/models.py @@ -161,3 +161,11 @@ class CompositePKModel(models.Model): pk = models.CompositePrimaryKey("column_1", "column_2") column_1 = models.IntegerField() column_2 = models.IntegerField() + + +class DbOnDeleteModel(models.Model): + fk_do_nothing = models.ForeignKey(UniqueTogether, on_delete=models.DO_NOTHING) + fk_db_cascade = models.ForeignKey(ColumnTypes, on_delete=models.DB_CASCADE) + fk_set_null = models.ForeignKey( + DigitsInColumnName, on_delete=models.DB_SET_NULL, null=True + ) diff --git a/tests/inspectdb/tests.py b/tests/inspectdb/tests.py index c554488c10..9104671b4f 100644 --- a/tests/inspectdb/tests.py +++ b/tests/inspectdb/tests.py @@ -299,6 +299,27 @@ class InspectDBTestCase(TestCase): out.getvalue(), ) + @skipUnlessDBFeature("can_introspect_foreign_keys") + def test_foreign_key_db_on_delete(self): + out = StringIO() + call_command("inspectdb", "inspectdb_dbondeletemodel", stdout=out) + output = out.getvalue() + self.assertIn( + "fk_do_nothing = models.ForeignKey('InspectdbUniquetogether', " + "models.DO_NOTHING)", + output, + ) + self.assertIn( + "fk_db_cascade = models.ForeignKey('InspectdbColumntypes', " + "models.DB_CASCADE)", + output, + ) + self.assertIn( + "fk_set_null = models.ForeignKey('InspectdbDigitsincolumnname', " + "models.DB_SET_NULL, blank=True, null=True)", + output, + ) + def test_digits_column_name_introspection(self): """ Introspection of column names consist/start with digits (#16536/#17676) diff --git a/tests/introspection/models.py b/tests/introspection/models.py index c4a60ab182..6c94f5212c 100644 --- a/tests/introspection/models.py +++ b/tests/introspection/models.py @@ -110,3 +110,18 @@ class DbCommentModel(models.Model): class Meta: db_table_comment = "Custom table comment" required_db_features = {"supports_comments"} + + +class DbOnDeleteModel(models.Model): + fk_do_nothing = models.ForeignKey(Country, on_delete=models.DO_NOTHING) + fk_db_cascade = models.ForeignKey(City, on_delete=models.DB_CASCADE) + fk_set_null = models.ForeignKey(Reporter, on_delete=models.DB_SET_NULL, null=True) + + +class DbOnDeleteSetDefaultModel(models.Model): + fk_db_set_default = models.ForeignKey( + Country, on_delete=models.DB_SET_DEFAULT, db_default=models.Value(1) + ) + + class Meta: + required_db_features = {"supports_on_delete_db_default"} diff --git a/tests/introspection/tests.py b/tests/introspection/tests.py index 327e5cc8c6..1f7f22b2dc 100644 --- a/tests/introspection/tests.py +++ b/tests/introspection/tests.py @@ -1,5 +1,5 @@ from django.db import DatabaseError, connection -from django.db.models import Index +from django.db.models import DB_CASCADE, DB_SET_DEFAULT, DB_SET_NULL, DO_NOTHING, Index from django.test import TransactionTestCase, skipUnlessDBFeature from .models import ( @@ -10,6 +10,8 @@ from .models import ( Comment, Country, DbCommentModel, + DbOnDeleteModel, + DbOnDeleteSetDefaultModel, District, Reporter, UniqueConstraintConditionModel, @@ -219,10 +221,14 @@ class IntrospectionTests(TransactionTestCase): cursor, Article._meta.db_table ) - # That's {field_name: (field_name_other_table, other_table)} + if connection.vendor == "mysql" and connection.mysql_is_mariadb: + no_db_on_delete = None + else: + no_db_on_delete = DO_NOTHING + # {field_name: (field_name_other_table, other_table, db_on_delete)} expected_relations = { - "reporter_id": ("id", Reporter._meta.db_table), - "response_to_id": ("id", Article._meta.db_table), + "reporter_id": ("id", Reporter._meta.db_table, no_db_on_delete), + "response_to_id": ("id", Article._meta.db_table, no_db_on_delete), } self.assertEqual(relations, expected_relations) @@ -238,6 +244,38 @@ class IntrospectionTests(TransactionTestCase): editor.add_field(Article, body) self.assertEqual(relations, expected_relations) + @skipUnlessDBFeature("can_introspect_foreign_keys") + def test_get_relations_db_on_delete(self): + with connection.cursor() as cursor: + relations = connection.introspection.get_relations( + cursor, DbOnDeleteModel._meta.db_table + ) + + if connection.vendor == "mysql" and connection.mysql_is_mariadb: + no_db_on_delete = None + else: + no_db_on_delete = DO_NOTHING + # {field_name: (field_name_other_table, other_table, db_on_delete)} + expected_relations = { + "fk_db_cascade_id": ("id", City._meta.db_table, DB_CASCADE), + "fk_do_nothing_id": ("id", Country._meta.db_table, no_db_on_delete), + "fk_set_null_id": ("id", Reporter._meta.db_table, DB_SET_NULL), + } + self.assertEqual(relations, expected_relations) + + @skipUnlessDBFeature("can_introspect_foreign_keys", "supports_on_delete_db_default") + def test_get_relations_db_on_delete_default(self): + with connection.cursor() as cursor: + relations = connection.introspection.get_relations( + cursor, DbOnDeleteSetDefaultModel._meta.db_table + ) + + # {field_name: (field_name_other_table, other_table, db_on_delete)} + expected_relations = { + "fk_db_set_default_id": ("id", Country._meta.db_table, DB_SET_DEFAULT), + } + self.assertEqual(relations, expected_relations) + def test_get_primary_key_column(self): with connection.cursor() as cursor: primary_key_column = connection.introspection.get_primary_key_column( From 8af79e2c0c5608196369600268756772a6343525 Mon Sep 17 00:00:00 2001 From: Augusto Pontes Date: Mon, 3 Nov 2025 14:50:28 -0500 Subject: [PATCH 05/44] Fixed #36695 -- Fixed handling of parameterized generics in migration serialization. Co-authored-by: Jacob Walls --- django/db/migrations/serializer.py | 12 ++++++++++++ tests/migrations/test_writer.py | 6 ++++++ 2 files changed, 18 insertions(+) diff --git a/django/db/migrations/serializer.py b/django/db/migrations/serializer.py index 013bb0fb00..17dc95fe6e 100644 --- a/django/db/migrations/serializer.py +++ b/django/db/migrations/serializer.py @@ -222,6 +222,17 @@ class FunctoolsPartialSerializer(BaseSerializer): ) +class GenericAliasSerializer(BaseSerializer): + def serialize(self): + imports = set() + # Avoid iterating self.value, because it returns itself. + # https://github.com/python/cpython/issues/103450 + for item in self.value.__args__: + _, item_imports = serializer_factory(item).serialize() + imports.update(item_imports) + return repr(self.value), imports + + class IterableSerializer(BaseSerializer): def serialize(self): imports = set() @@ -364,6 +375,7 @@ class Serializer: decimal.Decimal: DecimalSerializer, (functools.partial, functools.partialmethod): FunctoolsPartialSerializer, FUNCTION_TYPES: FunctionTypeSerializer, + types.GenericAlias: GenericAliasSerializer, collections.abc.Iterable: IterableSerializer, (COMPILED_REGEX_TYPE, RegexObject): RegexSerializer, uuid.UUID: UUIDSerializer, diff --git a/tests/migrations/test_writer.py b/tests/migrations/test_writer.py index b7b199d8f1..c3f43afcb8 100644 --- a/tests/migrations/test_writer.py +++ b/tests/migrations/test_writer.py @@ -1237,6 +1237,12 @@ class WriterTests(SimpleTestCase): self.assertEqual(result.args, instance.args) self.assertEqual(result.kwargs, instance.kwargs) + def test_serialize_generic_alias(self): + self.assertSerializedEqual(dict[str, float]) + + def test_serialize_generic_alias_complex_args(self): + self.assertSerializedEqual(dict[str, models.Manager]) + def test_register_serializer(self): class ComplexSerializer(BaseSerializer): def serialize(self): From eaf7b563a5d3861026242fdb503a58f71acf17f6 Mon Sep 17 00:00:00 2001 From: ontowhee <82607723+ontowhee@users.noreply.github.com> Date: Thu, 11 Sep 2025 15:04:55 -0500 Subject: [PATCH 06/44] Updated ticket triage process diagram and contributing docs. --- .../_images/contribution_process.svg | 4 + docs/internals/_images/triage_process.graffle | Bin 355631 -> 0 bytes docs/internals/_images/triage_process.pdf | Bin 47211 -> 0 bytes docs/internals/_images/triage_process.svg | 282 ------------------ .../contributing/new-contributors.txt | 2 +- .../contributing/triaging-tickets.txt | 82 ++--- 6 files changed, 51 insertions(+), 319 deletions(-) create mode 100644 docs/internals/_images/contribution_process.svg delete mode 100644 docs/internals/_images/triage_process.graffle delete mode 100644 docs/internals/_images/triage_process.pdf delete mode 100644 docs/internals/_images/triage_process.svg diff --git a/docs/internals/_images/contribution_process.svg b/docs/internals/_images/contribution_process.svg new file mode 100644 index 0000000000..6e005a572b --- /dev/null +++ b/docs/internals/_images/contribution_process.svg @@ -0,0 +1,4 @@ + + + +
Needs Triage
Ready For Checkin
Accepted
Needs Patch
Needs PR Review
Closed
fixed
Closed
duplicate
invalid
needsinfo
wontfix
worksforme
Ticket Progress
100%
5%
Waiting On Author
Django Maintainers
Mergers
Anyone in the Community
Triagers
Reviewers
Bug Fixers
\ No newline at end of file diff --git a/docs/internals/_images/triage_process.graffle b/docs/internals/_images/triage_process.graffle deleted file mode 100644 index 67bdbfb6005721bbb48553b357db9a94b379f476..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 355631 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

3%pMSqN10a1q$s2UDe)=+!9Wz4 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

PBT7!r$CBbGliAZsK;x@_@{ujS7gKnuHV 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

mue2vKVLcBj@s~N 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�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 z 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�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 - - - - - - - - - - - - - - - - - - - - - - Canevas 1 - - - Calque 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Closed tickets - resolution - - - - - - - Open tickets - triage state - - - - - - - Ready for - Checkin - - - - - - - Accepted - - - - - - - Unreviewed - - - - - - - duplicate - - - - - - - fixed - - - - - - - invalid - - - - - - - needsinfo - - - - - - - worksforme - - - - - - - wontfix - - - - - - - - - - - - completed - - - - - - stopped - - - - - - in progress - - - - - - - - Ticket triagers - - - - - - - - Mergers - - - - - - status - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The ticket was already reported, was - already rejected, isn't a bug, doesn't contain - enough information, or can't be reproduced. - - - - - - - - - - - - - The ticket is a - bug and should - be fixed. - - - - - - - - - - - - - The ticket has a patch which applies cleanly and includes all - needed tests and docs. A merger can commit it as is. - - - - - - - - - - - - - - diff --git a/docs/internals/contributing/new-contributors.txt b/docs/internals/contributing/new-contributors.txt index 99f70b770a..63835289eb 100644 --- a/docs/internals/contributing/new-contributors.txt +++ b/docs/internals/contributing/new-contributors.txt @@ -28,7 +28,7 @@ If an `unreviewed ticket`_ reports a bug, try and reproduce it. If you can reproduce it and it seems valid, make a note that you confirmed the bug and accept the ticket. Make sure the ticket is filed under the correct component area. Consider writing a patch that adds a test for the bug's behavior, even if -you don't fix the bug itself. See more at :ref:`how-can-i-help-with-triaging` +you don't fix the bug itself. See more at :ref:`how-can-i-help-with-triaging`. Review patches of accepted tickets ---------------------------------- diff --git a/docs/internals/contributing/triaging-tickets.txt b/docs/internals/contributing/triaging-tickets.txt index 62556dbfbb..66f0cc661e 100644 --- a/docs/internals/contributing/triaging-tickets.txt +++ b/docs/internals/contributing/triaging-tickets.txt @@ -49,47 +49,58 @@ attribute easily tells us what and who each ticket is waiting on. Since a picture is worth a thousand words, let's start there: -.. image:: /internals/_images/triage_process.* - :height: 750 - :width: 600 +.. image:: /internals/_images/contribution_process.* :alt: Django's ticket triage workflow -We've got two roles in this diagram: +We have four roles in this diagram. Maintainers (also known as Fellows) usually +take part in all of them, but anyone in the Django community can participate in +any role except merger. The :ref:`merger role ` is granted by a +vote of the :ref:`Steering Council `. -* Mergers: people with commit access who are responsible for making the - final decision to merge a change. +* Triagers: anyone can take on this role by checking whether a ticket describes + a real issue and keeping the tracker organized. -* Ticket triagers: anyone in the Django community who chooses to - become involved in Django's development process. Our Trac installation - is intentionally left open to the public, and anyone can triage tickets. - Django is a community project, and we encourage :ref:`triage by the - community`. +* Bug fixers: anyone can contribute by opening a pull request and working on a + solution for a ticket. -By way of example, here we see the lifecycle of an average ticket: +* Reviewers: anyone can review pull requests and suggest improvements. -* Alice creates a ticket and sends an incomplete pull request (no tests, +* Mergers: people with commit access who make the final decision to merge a + change. + +Our Trac system is intentionally open to the public, and anyone can help by +working on tickets. Django is a community project, and we encourage +:ref:`triage and collaboration by the community +`. This could be you! + +For example, here's the typical lifecycle of a ticket: + +* Alice creates a ticket and opens an incomplete pull request (missing tests, incorrect implementation). -* Bob reviews the pull request, marks the ticket as "Accepted", "needs tests", - and "patch needs improvement", and leaves a comment telling Alice how the - patch could be improved. +* Bob reviews the pull request, marks the ticket as "Accepted", sets the + flags "needs tests" and "patch needs improvement", and leaves a comment + explaining how Alice can improve the patch. This puts the ticket + automatically into the "waiting on author" queue within the "accepted" stage. -* Alice updates the pull request, adding tests (but not changing the - implementation). She removes the two flags. +* Alice updates the pull request, adding tests (but not yet fixing the + implementation), and removes the two flags. The ticket moves into the "needs + PR review" queue. -* Charlie reviews the pull request and resets the "patch needs improvement" - flag with another comment about improving the implementation. +* Charlie reviews the pull request, sets the "patch needs improvement" flag + again, and leaves another comment suggesting changes to the implementation. + The ticket moves back to the "waiting on author" queue. -* Alice updates the pull request, fixing the implementation. She removes the - "patch needs improvement" flag. +* Alice updates the pull request again, this time fixing the implementation, + and removes the "patch needs improvement" flag. The ticket moves once more + into the "needs PR review" queue. * Daisy reviews the pull request and marks the ticket as "Ready for checkin". -* Jacob, a :ref:`merger `, reviews the pull request and merges - it. +* Jacob, a :ref:`merger `, reviews and merges the pull request. -Some tickets require much less feedback than this, but then again some tickets -require much much more. +Some tickets move through these steps quickly, while others take more time and +discussion. Each contribution helps Django improve. .. _triage-stages: @@ -104,16 +115,15 @@ Unreviewed The ticket has not been reviewed by anyone who felt qualified to make a judgment about whether the ticket contained a valid issue or ought to be closed -for any of the various reasons. +for any reasons. Unreviewed tickets appear in the "triage" queue. Accepted -------- -The big gray area! The absolute meaning of "accepted" is that the issue -described in the ticket is valid and is in some stage of being worked on. -Beyond that there are several considerations: +The absolute meaning of "accepted" is that the issue described in the ticket is +valid and actionable. It is broken out into three queues: -* **Accepted + No Flags** +* **Needs Patch** (Accepted + No Flags) The ticket is valid, but no one has submitted a patch for it yet. Often this means you could safely start writing a fix for it. This is generally more @@ -126,14 +136,14 @@ Beyond that there are several considerations: ` and received community and :ref:`Steering Council ` approval, or been accepted in a DEP. -* **Accepted + Has Patch** +* **Needs PR Review** (Accepted + Has Patch) The ticket is waiting for people to review the supplied solution. This means downloading the patch and trying it out, verifying that it contains tests and docs, running the test suite with the included patch, and leaving feedback on the ticket. -* **Accepted + Has Patch + Needs ...** +* **Waiting On Author** (Accepted + Has Patch + Needs fixes) This means the ticket has been reviewed, and has been found to need further work. "Needs tests" and "Needs documentation" are self-explanatory. "Patch @@ -339,10 +349,10 @@ bring the issue to the `Django Forum`_ instead. .. _how-can-i-help-with-triaging: -How can I help with triaging? -============================= +How can I help with development? +================================ -The triage process is primarily driven by community members. Really, +The development process is primarily driven by community members. Really, **ANYONE** can help. To get involved, start by `creating an account on Trac`_. If you have an From e27cff68a32a0183c6b8d110b359c1c858f68cd7 Mon Sep 17 00:00:00 2001 From: Jayden Kneller Date: Mon, 3 Nov 2025 12:05:59 -0500 Subject: [PATCH 07/44] Fixed #36652 -- Increased determinism when loading migrations from disk. Ordering still depends on pkgutil.iter_modules, which does not guarantee order, but at least now Django is not introducing additional indeterminism, causing CircularDependencyError to appear or not appear in some edge cases. Co-authored-by: Jacob Walls --- django/db/migrations/loader.py | 4 +- tests/migrations/test_loader.py | 69 +++++++++++++++++++ .../__init__.py | 0 .../app1/0001_initial.py | 9 +++ .../app1/0001_squashed_initial.py | 13 ++++ .../app1/0002_squashed_initial.py | 16 +++++ .../app1/__init__.py | 0 .../app2/0001_initial.py | 11 +++ .../app2/0001_squashed_initial.py | 13 ++++ .../app2/__init__.py | 0 10 files changed, 133 insertions(+), 2 deletions(-) create mode 100644 tests/migrations/test_migrations_squashed_replaced_order/__init__.py create mode 100644 tests/migrations/test_migrations_squashed_replaced_order/app1/0001_initial.py create mode 100644 tests/migrations/test_migrations_squashed_replaced_order/app1/0001_squashed_initial.py create mode 100644 tests/migrations/test_migrations_squashed_replaced_order/app1/0002_squashed_initial.py create mode 100644 tests/migrations/test_migrations_squashed_replaced_order/app1/__init__.py create mode 100644 tests/migrations/test_migrations_squashed_replaced_order/app2/0001_initial.py create mode 100644 tests/migrations/test_migrations_squashed_replaced_order/app2/0001_squashed_initial.py create mode 100644 tests/migrations/test_migrations_squashed_replaced_order/app2/__init__.py diff --git a/django/db/migrations/loader.py b/django/db/migrations/loader.py index 66944c7ab7..db81f6f78f 100644 --- a/django/db/migrations/loader.py +++ b/django/db/migrations/loader.py @@ -109,11 +109,11 @@ class MigrationLoader: if was_loaded: reload(module) self.migrated_apps.add(app_config.label) - migration_names = { + migration_names = [ name for _, name, is_pkg in pkgutil.iter_modules(module.__path__) if not is_pkg and name[0] not in "_~" - } + ] # Load migrations for migration_name in migration_names: migration_path = "%s.%s" % (module_name, migration_name) diff --git a/tests/migrations/test_loader.py b/tests/migrations/test_loader.py index 7cf11f7faa..efa7a94166 100644 --- a/tests/migrations/test_loader.py +++ b/tests/migrations/test_loader.py @@ -1,7 +1,12 @@ import compileall import os +import subprocess +import sys +import tempfile from importlib import import_module +from pathlib import Path +from django.conf import settings from django.db import connection, connections from django.db.migrations.exceptions import ( AmbiguityError, @@ -649,6 +654,70 @@ class LoaderTests(TestCase): test_module.__spec__.origin = module_origin test_module.__spec__.has_location = module_has_location + def test_loading_order_does_not_create_circular_dependency(self): + """ + Before, for these migrations: + app1 + [ ] 0001_squashed_initial <- replaces app1.0001 + [ ] 0002_squashed_initial <- replaces app1.0001 + depends on app1.0001_squashed_initial & app2.0001_squashed_initial + app2 + [ ] 0001_squashed_initial <- replaces app2.0001 + + When loading app1's migrations, if 0002_squashed_initial was first: + {'0002_squashed_initial', '0001_initial', '0001_squashed_initial'} + Then CircularDependencyError was raised, but it's resolvable as: + {'0001_initial', '0001_squashed_initial', '0002_squashed_initial'} + """ + # Create a test settings file to provide to the subprocess. + MIGRATION_MODULES = { + "app1": "migrations.test_migrations_squashed_replaced_order.app1", + "app2": "migrations.test_migrations_squashed_replaced_order.app2", + } + INSTALLED_APPS = [ + "migrations.test_migrations_squashed_replaced_order.app1", + "migrations.test_migrations_squashed_replaced_order.app2", + ] + tests_dir = Path(__file__).parent.parent + with tempfile.NamedTemporaryFile( + mode="w", encoding="utf-8", suffix=".py", dir=tests_dir, delete=False + ) as test_settings: + for attr, value in settings._wrapped.__dict__.items(): + if attr.isupper(): + test_settings.write(f"{attr} = {value!r}\n") + # Provide overrides here, instead of via decorators. + test_settings.write(f"DATABASES = {settings.DATABASES}\n") + test_settings.write(f"MIGRATION_MODULES = {MIGRATION_MODULES}\n") + # Isolate away other test apps. + test_settings.write( + "INSTALLED_APPS=[a for a in INSTALLED_APPS if a.startswith('django')]\n" + ) + test_settings.write(f"INSTALLED_APPS += {INSTALLED_APPS}\n") + test_settings_name = test_settings.name + self.addCleanup(os.remove, test_settings_name) + + test_environ = os.environ.copy() + test_environ["PYTHONPATH"] = str(tests_dir) + # Ensure deterministic failures. + test_environ["PYTHONHASHSEED"] = "1" + + args = [ + sys.executable, + "-m", + "django", + "showmigrations", + "app1", + "--skip-checks", + "--settings", + Path(test_settings_name).stem, + ] + try: + subprocess.run( + args, capture_output=True, env=test_environ, check=True, text=True + ) + except subprocess.CalledProcessError as err: + self.fail(err.stderr) + class PycLoaderTests(MigrationTestBase): def test_valid(self): diff --git a/tests/migrations/test_migrations_squashed_replaced_order/__init__.py b/tests/migrations/test_migrations_squashed_replaced_order/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/migrations/test_migrations_squashed_replaced_order/app1/0001_initial.py b/tests/migrations/test_migrations_squashed_replaced_order/app1/0001_initial.py new file mode 100644 index 0000000000..cf311d1f93 --- /dev/null +++ b/tests/migrations/test_migrations_squashed_replaced_order/app1/0001_initial.py @@ -0,0 +1,9 @@ +from django.db import migrations + + +class Migration(migrations.Migration): + initial = True + + dependencies = [] + + operations = [] diff --git a/tests/migrations/test_migrations_squashed_replaced_order/app1/0001_squashed_initial.py b/tests/migrations/test_migrations_squashed_replaced_order/app1/0001_squashed_initial.py new file mode 100644 index 0000000000..7a77d339bc --- /dev/null +++ b/tests/migrations/test_migrations_squashed_replaced_order/app1/0001_squashed_initial.py @@ -0,0 +1,13 @@ +from django.db import migrations + + +class Migration(migrations.Migration): + initial = True + + replaces = [ + ("app1", "0001_initial"), + ] + + dependencies = [] + + operations = [] diff --git a/tests/migrations/test_migrations_squashed_replaced_order/app1/0002_squashed_initial.py b/tests/migrations/test_migrations_squashed_replaced_order/app1/0002_squashed_initial.py new file mode 100644 index 0000000000..fc16ed6d6e --- /dev/null +++ b/tests/migrations/test_migrations_squashed_replaced_order/app1/0002_squashed_initial.py @@ -0,0 +1,16 @@ +from django.db import migrations + + +class Migration(migrations.Migration): + initial = True + + replaces = [ + ("app1", "0001_initial"), + ] + + dependencies = [ + ("app1", "0001_squashed_initial"), + ("app2", "0001_squashed_initial"), + ] + + operations = [] diff --git a/tests/migrations/test_migrations_squashed_replaced_order/app1/__init__.py b/tests/migrations/test_migrations_squashed_replaced_order/app1/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/migrations/test_migrations_squashed_replaced_order/app2/0001_initial.py b/tests/migrations/test_migrations_squashed_replaced_order/app2/0001_initial.py new file mode 100644 index 0000000000..05d0409496 --- /dev/null +++ b/tests/migrations/test_migrations_squashed_replaced_order/app2/0001_initial.py @@ -0,0 +1,11 @@ +from django.db import migrations + + +class Migration(migrations.Migration): + initial = True + + dependencies = [ + ("app1", "0001_initial"), + ] + + operations = [] diff --git a/tests/migrations/test_migrations_squashed_replaced_order/app2/0001_squashed_initial.py b/tests/migrations/test_migrations_squashed_replaced_order/app2/0001_squashed_initial.py new file mode 100644 index 0000000000..de6bfe4135 --- /dev/null +++ b/tests/migrations/test_migrations_squashed_replaced_order/app2/0001_squashed_initial.py @@ -0,0 +1,13 @@ +from django.db import migrations + + +class Migration(migrations.Migration): + initial = True + + replaces = [ + ("app2", "0001_initial"), + ] + + dependencies = [] + + operations = [] diff --git a/tests/migrations/test_migrations_squashed_replaced_order/app2/__init__.py b/tests/migrations/test_migrations_squashed_replaced_order/app2/__init__.py new file mode 100644 index 0000000000..e69de29bb2 From 74564946c3b42a2ef7d087047e49873847a7e1d9 Mon Sep 17 00:00:00 2001 From: Hal Blackburn Date: Tue, 4 Nov 2025 05:58:46 +0000 Subject: [PATCH 08/44] Fixed #36704 -- Fixed system check error for proxy model with a composite pk. Proxy models subclassing a model with a CompositePrimaryKey were incorrectly reporting check errors because the check that requires only local fields to be used in a composite pk was evaluated against the proxy subclass, which has no fields. To fix this, composite pk field checks are not evaluated against proxy subclasses, as none of the checks are applicable to proxy subclasses. This also has the benefit of not double-reporting real check errors from an invalid superclass pk. Thanks Clifford Gama for the review. --- django/db/models/base.py | 2 +- docs/releases/5.2.8.txt | 3 +++ tests/composite_pk/test_checks.py | 35 +++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/django/db/models/base.py b/django/db/models/base.py index b58e7e3e52..8d7cbdd32d 100644 --- a/django/db/models/base.py +++ b/django/db/models/base.py @@ -1801,7 +1801,7 @@ class Model(AltersData, metaclass=ModelBase): meta = cls._meta pk = meta.pk - if not isinstance(pk, CompositePrimaryKey): + if meta.proxy or not isinstance(pk, CompositePrimaryKey): return errors seen_columns = defaultdict(list) diff --git a/docs/releases/5.2.8.txt b/docs/releases/5.2.8.txt index a75db9cbc8..62cb32f55c 100644 --- a/docs/releases/5.2.8.txt +++ b/docs/releases/5.2.8.txt @@ -16,3 +16,6 @@ Bugfixes * Fixed a bug in Django 5.2 where ``QuerySet.first()`` and ``QuerySet.last()`` raised an error on querysets performing aggregation that selected all fields of a composite primary key. + +* Fixed a bug in Django 5.2 where proxy models having a ``CompositePrimaryKey`` + incorrectly raised a ``models.E042`` system check error. diff --git a/tests/composite_pk/test_checks.py b/tests/composite_pk/test_checks.py index c33f2ee2eb..21796aa871 100644 --- a/tests/composite_pk/test_checks.py +++ b/tests/composite_pk/test_checks.py @@ -268,3 +268,38 @@ class CompositePKChecksTests(TestCase): ), ], ) + + def test_proxy_model_can_subclass_model_with_composite_pk(self): + class Foo(models.Model): + pk = models.CompositePrimaryKey("a", "b") + a = models.SmallIntegerField() + b = models.SmallIntegerField() + + class Bar(Foo): + class Meta: + proxy = True + + self.assertEqual(Foo.check(databases=self.databases), []) + self.assertEqual(Bar.check(databases=self.databases), []) + + def test_proxy_model_does_not_check_superclass_composite_pk_errors(self): + class Foo(models.Model): + pk = models.CompositePrimaryKey("a", "b") + a = models.SmallIntegerField() + + class Bar(Foo): + class Meta: + proxy = True + + self.assertEqual( + Foo.check(databases=self.databases), + [ + checks.Error( + "'b' cannot be included in the composite primary key.", + hint="'b' is not a valid field.", + obj=Foo, + id="models.E042", + ), + ], + ) + self.assertEqual(Bar.check(databases=self.databases), []) From c880530ddd4fabd5939bab0e148bebe36699432a Mon Sep 17 00:00:00 2001 From: Jacob Walls Date: Thu, 16 Oct 2025 16:28:33 -0400 Subject: [PATCH 09/44] Fixed CVE-2025-64458 -- Mitigated potential DoS in HttpResponseRedirect/HttpResponsePermanentRedirect on Windows. Thanks Seokchan Yoon for the report, Markus Holtermann for the triage, and Jake Howard for the review. Follow-up to CVE-2025-27556 and 39e2297210d9d2938c75fc911d45f0e863dc4821. --- django/http/response.py | 9 +++++++-- docs/releases/4.2.26.txt | 10 +++++++++- docs/releases/5.1.14.txt | 10 +++++++++- docs/releases/5.2.8.txt | 10 ++++++++++ tests/httpwrappers/tests.py | 2 ++ 5 files changed, 37 insertions(+), 4 deletions(-) diff --git a/django/http/response.py b/django/http/response.py index 40b2d7089d..020b2fcf3a 100644 --- a/django/http/response.py +++ b/django/http/response.py @@ -22,7 +22,7 @@ from django.utils import timezone from django.utils.datastructures import CaseInsensitiveMapping from django.utils.encoding import iri_to_uri from django.utils.functional import cached_property -from django.utils.http import content_disposition_header, http_date +from django.utils.http import MAX_URL_LENGTH, content_disposition_header, http_date from django.utils.regex_helper import _lazy_re_compile _charset_from_content_type_re = _lazy_re_compile( @@ -631,7 +631,12 @@ class HttpResponseRedirectBase(HttpResponse): def __init__(self, redirect_to, preserve_request=False, *args, **kwargs): super().__init__(*args, **kwargs) self["Location"] = iri_to_uri(redirect_to) - parsed = urlsplit(str(redirect_to)) + redirect_to_str = str(redirect_to) + if len(redirect_to_str) > MAX_URL_LENGTH: + raise DisallowedRedirect( + f"Unsafe redirect exceeding {MAX_URL_LENGTH} characters" + ) + parsed = urlsplit(redirect_to_str) if preserve_request: self.status_code = self.status_code_preserve_request if parsed.scheme and parsed.scheme not in self.allowed_schemes: diff --git a/docs/releases/4.2.26.txt b/docs/releases/4.2.26.txt index e0db257c04..ae274c3361 100644 --- a/docs/releases/4.2.26.txt +++ b/docs/releases/4.2.26.txt @@ -7,4 +7,12 @@ Django 4.2.26 release notes Django 4.2.26 fixes one security issue with severity "high" and one security issue with severity "moderate" in 4.2.25. -... +CVE-2025-64458: Potential denial-of-service vulnerability in ``HttpResponseRedirect`` and ``HttpResponsePermanentRedirect`` on Windows +====================================================================================================================================== + +Python's :func:`NFKC normalization ` is slow on +Windows. As a consequence, :class:`~django.http.HttpResponseRedirect`, +:class:`~django.http.HttpResponsePermanentRedirect`, and the shortcut +:func:`redirect() ` were subject to a potential +denial-of-service attack via certain inputs with a very large number of Unicode +characters (follow up to :cve:`2025-27556`). diff --git a/docs/releases/5.1.14.txt b/docs/releases/5.1.14.txt index 79a7a260e3..8dba96e487 100644 --- a/docs/releases/5.1.14.txt +++ b/docs/releases/5.1.14.txt @@ -7,4 +7,12 @@ Django 5.1.14 release notes Django 5.1.14 fixes one security issue with severity "high" and one security issue with severity "moderate" in 5.1.13. -... +CVE-2025-64458: Potential denial-of-service vulnerability in ``HttpResponseRedirect`` and ``HttpResponsePermanentRedirect`` on Windows +====================================================================================================================================== + +Python's :func:`NFKC normalization ` is slow on +Windows. As a consequence, :class:`~django.http.HttpResponseRedirect`, +:class:`~django.http.HttpResponsePermanentRedirect`, and the shortcut +:func:`redirect() ` were subject to a potential +denial-of-service attack via certain inputs with a very large number of Unicode +characters (follow up to :cve:`2025-27556`). diff --git a/docs/releases/5.2.8.txt b/docs/releases/5.2.8.txt index 62cb32f55c..947fce8d84 100644 --- a/docs/releases/5.2.8.txt +++ b/docs/releases/5.2.8.txt @@ -8,6 +8,16 @@ Django 5.2.8 fixes one security issue with severity "high", one security issue with severity "moderate", and several bugs in 5.2.7. It also adds compatibility with Python 3.14. +CVE-2025-64458: Potential denial-of-service vulnerability in ``HttpResponseRedirect`` and ``HttpResponsePermanentRedirect`` on Windows +====================================================================================================================================== + +Python's :func:`NFKC normalization ` is slow on +Windows. As a consequence, :class:`~django.http.HttpResponseRedirect`, +:class:`~django.http.HttpResponsePermanentRedirect`, and the shortcut +:func:`redirect() ` were subject to a potential +denial-of-service attack via certain inputs with a very large number of Unicode +characters (follow up to :cve:`2025-27556`). + Bugfixes ======== diff --git a/tests/httpwrappers/tests.py b/tests/httpwrappers/tests.py index f1caec6b71..804bec50b0 100644 --- a/tests/httpwrappers/tests.py +++ b/tests/httpwrappers/tests.py @@ -24,6 +24,7 @@ from django.http import ( ) from django.test import SimpleTestCase from django.utils.functional import lazystr +from django.utils.http import MAX_URL_LENGTH class QueryDictTests(SimpleTestCase): @@ -490,6 +491,7 @@ class HttpResponseTests(SimpleTestCase): 'data:text/html,', "mailto:test@example.com", "file:///etc/passwd", + "é" * (MAX_URL_LENGTH + 1), ] for url in bad_urls: with self.assertRaises(DisallowedRedirect): From 98e642c69181c942d60a10ca0085d48c6b3068bb Mon Sep 17 00:00:00 2001 From: Jacob Walls Date: Wed, 24 Sep 2025 15:54:51 -0400 Subject: [PATCH 10/44] Fixed CVE-2025-64459 -- Prevented SQL injections in Q/QuerySet via the _connector kwarg. Thanks cyberstan for the report, Sarah Boyce, Adam Johnson, Simon Charette, and Jake Howard for the reviews. --- django/db/models/query_utils.py | 4 ++++ docs/releases/4.2.26.txt | 7 +++++++ docs/releases/5.1.14.txt | 7 +++++++ docs/releases/5.2.8.txt | 7 +++++++ tests/queries/test_q.py | 5 +++++ 5 files changed, 30 insertions(+) diff --git a/django/db/models/query_utils.py b/django/db/models/query_utils.py index 23d543211a..8920977cd2 100644 --- a/django/db/models/query_utils.py +++ b/django/db/models/query_utils.py @@ -48,8 +48,12 @@ class Q(tree.Node): XOR = "XOR" default = AND conditional = True + connectors = (None, AND, OR, XOR) def __init__(self, *args, _connector=None, _negated=False, **kwargs): + if _connector not in self.connectors: + connector_reprs = ", ".join(f"{conn!r}" for conn in self.connectors[1:]) + raise ValueError(f"_connector must be one of {connector_reprs}, or None.") super().__init__( children=[*args, *sorted(kwargs.items())], connector=_connector, diff --git a/docs/releases/4.2.26.txt b/docs/releases/4.2.26.txt index ae274c3361..20cf48f05c 100644 --- a/docs/releases/4.2.26.txt +++ b/docs/releases/4.2.26.txt @@ -16,3 +16,10 @@ Windows. As a consequence, :class:`~django.http.HttpResponseRedirect`, :func:`redirect() ` were subject to a potential denial-of-service attack via certain inputs with a very large number of Unicode characters (follow up to :cve:`2025-27556`). + +CVE-2025-64459: Potential SQL injection via ``_connector`` keyword argument +=========================================================================== + +:meth:`.QuerySet.filter`, :meth:`~.QuerySet.exclude`, :meth:`~.QuerySet.get`, +and :class:`~.Q` were subject to SQL injection using a suitably crafted +dictionary, with dictionary expansion, as the ``_connector`` argument. diff --git a/docs/releases/5.1.14.txt b/docs/releases/5.1.14.txt index 8dba96e487..d762dbf3cd 100644 --- a/docs/releases/5.1.14.txt +++ b/docs/releases/5.1.14.txt @@ -16,3 +16,10 @@ Windows. As a consequence, :class:`~django.http.HttpResponseRedirect`, :func:`redirect() ` were subject to a potential denial-of-service attack via certain inputs with a very large number of Unicode characters (follow up to :cve:`2025-27556`). + +CVE-2025-64459: Potential SQL injection via ``_connector`` keyword argument +=========================================================================== + +:meth:`.QuerySet.filter`, :meth:`~.QuerySet.exclude`, :meth:`~.QuerySet.get`, +and :class:`~.Q` were subject to SQL injection using a suitably crafted +dictionary, with dictionary expansion, as the ``_connector`` argument. diff --git a/docs/releases/5.2.8.txt b/docs/releases/5.2.8.txt index 947fce8d84..0a0038ba20 100644 --- a/docs/releases/5.2.8.txt +++ b/docs/releases/5.2.8.txt @@ -18,6 +18,13 @@ Windows. As a consequence, :class:`~django.http.HttpResponseRedirect`, denial-of-service attack via certain inputs with a very large number of Unicode characters (follow up to :cve:`2025-27556`). +CVE-2025-64459: Potential SQL injection via ``_connector`` keyword argument +=========================================================================== + +:meth:`.QuerySet.filter`, :meth:`~.QuerySet.exclude`, :meth:`~.QuerySet.get`, +and :class:`~.Q` were subject to SQL injection using a suitably crafted +dictionary, with dictionary expansion, as the ``_connector`` argument. + Bugfixes ======== diff --git a/tests/queries/test_q.py b/tests/queries/test_q.py index 1a62aca061..52200b2ecf 100644 --- a/tests/queries/test_q.py +++ b/tests/queries/test_q.py @@ -272,6 +272,11 @@ class QTests(SimpleTestCase): Q(*items, _connector=connector), ) + def test_connector_validation(self): + msg = f"_connector must be one of {Q.AND!r}, {Q.OR!r}, {Q.XOR!r}, or None." + with self.assertRaisesMessage(ValueError, msg): + Q(_connector="evil") + def test_referenced_base_fields(self): # Make sure Q.referenced_base_fields retrieves all base fields from # both filters and F expressions. From 3c3f46357718166069948625354b8315a8505262 Mon Sep 17 00:00:00 2001 From: Jacob Walls Date: Wed, 24 Sep 2025 15:56:03 -0400 Subject: [PATCH 11/44] Refs CVE-2025-64459 -- Avoided propagating invalid arguments to Q on dictionary expansion. --- django/db/models/query.py | 5 +++++ tests/queries/tests.py | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/django/db/models/query.py b/django/db/models/query.py index 70177667a6..3c9c42cdc7 100644 --- a/django/db/models/query.py +++ b/django/db/models/query.py @@ -46,6 +46,8 @@ MAX_GET_RESULTS = 21 # The maximum number of items to display in a QuerySet.__repr__ REPR_OUTPUT_SIZE = 20 +PROHIBITED_FILTER_KWARGS = frozenset(["_connector", "_negated"]) + class BaseIterable: def __init__( @@ -1645,6 +1647,9 @@ class QuerySet(AltersData): return clone def _filter_or_exclude_inplace(self, negate, args, kwargs): + if invalid_kwargs := PROHIBITED_FILTER_KWARGS.intersection(kwargs): + invalid_kwargs_str = ", ".join(f"'{k}'" for k in sorted(invalid_kwargs)) + raise TypeError(f"The following kwargs are invalid: {invalid_kwargs_str}") if negate: self._query.add_q(~Q(*args, **kwargs)) else: diff --git a/tests/queries/tests.py b/tests/queries/tests.py index 4ee4572719..51d1915c97 100644 --- a/tests/queries/tests.py +++ b/tests/queries/tests.py @@ -4516,6 +4516,14 @@ class TestInvalidValuesRelation(SimpleTestCase): Annotation.objects.filter(tag__in=[123, "abc"]) +class TestInvalidFilterArguments(TestCase): + def test_filter_rejects_invalid_arguments(self): + school = School.objects.create() + msg = "The following kwargs are invalid: '_connector', '_negated'" + with self.assertRaisesMessage(TypeError, msg): + School.objects.filter(pk=school.pk, _negated=True, _connector="evil") + + class TestTicket24605(TestCase): def test_ticket_24605(self): """ From 6e18c078d5c044a1d22dd6a64ace11d9e5f6d0bc Mon Sep 17 00:00:00 2001 From: Natalia <124304+nessita@users.noreply.github.com> Date: Wed, 5 Nov 2025 11:12:30 -0300 Subject: [PATCH 12/44] Added stub release notes for 5.2.9. --- docs/releases/5.2.9.txt | 12 ++++++++++++ docs/releases/index.txt | 1 + 2 files changed, 13 insertions(+) create mode 100644 docs/releases/5.2.9.txt diff --git a/docs/releases/5.2.9.txt b/docs/releases/5.2.9.txt new file mode 100644 index 0000000000..5698bdc206 --- /dev/null +++ b/docs/releases/5.2.9.txt @@ -0,0 +1,12 @@ +========================== +Django 5.2.9 release notes +========================== + +*Expected December 2, 2025* + +Django 5.2.9 fixes several bugs in 5.2.8. + +Bugfixes +======== + +* ... diff --git a/docs/releases/index.txt b/docs/releases/index.txt index 18605ac878..38edcf79ad 100644 --- a/docs/releases/index.txt +++ b/docs/releases/index.txt @@ -39,6 +39,7 @@ versions of the documentation contain the release notes for any later releases. .. toctree:: :maxdepth: 1 + 5.2.9 5.2.8 5.2.7 5.2.6 From c5a107e8248813f07325ae65232b5e53e9ac4238 Mon Sep 17 00:00:00 2001 From: Natalia <124304+nessita@users.noreply.github.com> Date: Wed, 5 Nov 2025 11:17:12 -0300 Subject: [PATCH 13/44] Added CVE-2025-64458 and CVE-2025-64459 to security archive. --- docs/releases/security.txt | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/docs/releases/security.txt b/docs/releases/security.txt index 2bdb75e0cc..2c6418afd0 100644 --- a/docs/releases/security.txt +++ b/docs/releases/security.txt @@ -36,6 +36,30 @@ Issues under Django's security process All security issues have been handled under versions of Django's security process. These are listed below. +November 5, 2025 - :cve:`2025-64458` +------------------------------------ + +Potential denial-of-service vulnerability in ``HttpResponseRedirect`` and +``HttpResponsePermanentRedirect`` on Windows. `Full description +`__ + +* Django 6.0 :commit:`(patch) <6e13348436fccf8f22982921d6a3a3e65c956a9f>` +* Django 5.2 :commit:`(patch) <4f5d904b63751dea9ffc3b0e046404a7fa5881ac>` +* Django 5.1 :commit:`(patch) <3790593781d26168e7306b5b2f8ea0309de16242>` +* Django 4.2 :commit:`(patch) <770eea38d7a0e9ba9455140b5a9a9e33618226a7>` + +November 5, 2025 - :cve:`2025-64459` +------------------------------------ + +Potential SQL injection via ``_connector`` keyword argument in ``QuerySet`` and +``Q`` objects. `Full description +`__ + +* Django 6.0 :commit:`(patch) <06dd38324ac3d60d83d9f3adabf0dcdf423d2a85>` +* Django 5.2 :commit:`(patch) <6703f364d767e949c5b0e4016433ef75063b4f9b>` +* Django 5.1 :commit:`(patch) <72d2c87431f2ae0431d65d0ec792047f078c8241>` +* Django 4.2 :commit:`(patch) <59ae82e67053d281ff4562a24bbba21299f0a7d4>` + October 1, 2025 - :cve:`2025-59681` ----------------------------------- From dfcc662cf8fd7f897ddcdfeaf5cb4ae6c963ebf8 Mon Sep 17 00:00:00 2001 From: Harsh Jain <131331439+Hj-codes@users.noreply.github.com> Date: Thu, 6 Nov 2025 03:26:15 +0530 Subject: [PATCH 14/44] Fixed #36709 -- Included static methods in system check for UserModel.is_anonymous/is_authenticated methods. --- django/contrib/auth/checks.py | 5 ++--- tests/auth_tests/test_checks.py | 39 +++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/django/contrib/auth/checks.py b/django/contrib/auth/checks.py index cf23c51746..0de4cf49f1 100644 --- a/django/contrib/auth/checks.py +++ b/django/contrib/auth/checks.py @@ -1,5 +1,4 @@ from itertools import chain -from types import MethodType from django.apps import apps from django.conf import settings @@ -98,7 +97,7 @@ def check_user_model(app_configs, **kwargs): ) ) - if isinstance(cls().is_anonymous, MethodType): + if callable(cls().is_anonymous): errors.append( checks.Critical( "%s.is_anonymous must be an attribute or property rather than " @@ -108,7 +107,7 @@ def check_user_model(app_configs, **kwargs): id="auth.C009", ) ) - if isinstance(cls().is_authenticated, MethodType): + if callable(cls().is_authenticated): errors.append( checks.Critical( "%s.is_authenticated must be an attribute or property rather " diff --git a/tests/auth_tests/test_checks.py b/tests/auth_tests/test_checks.py index 3d70451e9d..19e9fadded 100644 --- a/tests/auth_tests/test_checks.py +++ b/tests/auth_tests/test_checks.py @@ -206,6 +206,45 @@ class UserModelChecksTests(SimpleTestCase): ], ) + @override_settings(AUTH_USER_MODEL="auth_tests.VulnerableStaticUser") + def test_is_anonymous_authenticated_static_methods(self): + """ + .is_anonymous/is_authenticated must not be static methods. + """ + + class VulnerableStaticUser(AbstractBaseUser): + username = models.CharField(max_length=30, unique=True) + USERNAME_FIELD = "username" + + @staticmethod + def is_anonymous(): + return False + + @staticmethod + def is_authenticated(): + return False + + errors = checks.run_checks(app_configs=self.apps.get_app_configs()) + self.assertEqual( + errors, + [ + checks.Critical( + "%s.is_anonymous must be an attribute or property rather than " + "a method. Ignoring this is a security issue as anonymous " + "users will be treated as authenticated!" % VulnerableStaticUser, + obj=VulnerableStaticUser, + id="auth.C009", + ), + checks.Critical( + "%s.is_authenticated must be an attribute or property rather " + "than a method. Ignoring this is a security issue as anonymous " + "users will be treated as authenticated!" % VulnerableStaticUser, + obj=VulnerableStaticUser, + id="auth.C010", + ), + ], + ) + @isolate_apps("auth_tests", attr_name="apps") @override_system_checks([check_models_permissions]) From 125b63ca745bace1e098ed3c7362d59136f68a8b Mon Sep 17 00:00:00 2001 From: Mehraz Hossain Rumman <59512321+MehrazRumman@users.noreply.github.com> Date: Thu, 6 Nov 2025 04:05:54 +0600 Subject: [PATCH 15/44] Fixed #36710 -- Fixed a regression in urlize for multipart domain names. Thanks Mehraz Hossain Rumman for the report and Bruno Alla for the triage. Regression in a9fe98d5bd4212d069afe8316101984aadecfbb2. --- django/utils/html.py | 1 + tests/utils_tests/test_html.py | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/django/utils/html.py b/django/utils/html.py index 734d7fbfb3..b04d6bc5ee 100644 --- a/django/utils/html.py +++ b/django/utils/html.py @@ -297,6 +297,7 @@ class Urlizer: simple_url_re = _lazy_re_compile(r"^https?://\[?\w", re.IGNORECASE) simple_url_2_re = _lazy_re_compile( rf"^www\.|^(?!http)(?:{DomainNameValidator.hostname_re})" + rf"(?:{DomainNameValidator.domain_re})" r"\.(com|edu|gov|int|mil|net|org)($|/.*)$", re.IGNORECASE, ) diff --git a/tests/utils_tests/test_html.py b/tests/utils_tests/test_html.py index bf00d14496..b388d3ce52 100644 --- a/tests/utils_tests/test_html.py +++ b/tests/utils_tests/test_html.py @@ -455,6 +455,10 @@ class TestUtilsHtml(SimpleTestCase): 'idna-2008@މިހާރު.example.mv', ), + ( + "host.djangoproject.com", + 'host.djangoproject.com', + ), ) for value, output in tests: with self.subTest(value=value): From 6d4d99b3cef4a6d931de02f89a493fb345dc438e Mon Sep 17 00:00:00 2001 From: us77ipis <75014848+us77ipis@users.noreply.github.com> Date: Thu, 6 Nov 2025 16:58:01 +0000 Subject: [PATCH 16/44] Fixed #36702 -- Made bulk_create() return pk values set by an expression. --- django/db/models/query.py | 3 +-- tests/bulk_create/tests.py | 9 +++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/django/db/models/query.py b/django/db/models/query.py index 3c9c42cdc7..73d6717bce 100644 --- a/django/db/models/query.py +++ b/django/db/models/query.py @@ -842,8 +842,7 @@ class QuerySet(AltersData): ) for obj_with_pk, results in zip(objs_with_pk, returned_columns): for result, field in zip(results, opts.db_returning_fields): - if field != opts.pk: - setattr(obj_with_pk, field.attname, result) + setattr(obj_with_pk, field.attname, result) for obj_with_pk in objs_with_pk: obj_with_pk._state.adding = False obj_with_pk._state.db = self.db diff --git a/tests/bulk_create/tests.py b/tests/bulk_create/tests.py index 7b77ffed3d..397fcb9186 100644 --- a/tests/bulk_create/tests.py +++ b/tests/bulk_create/tests.py @@ -884,6 +884,15 @@ class BulkCreateTests(TestCase): (obj,) = DbDefaultPrimaryKey.objects.bulk_create([DbDefaultPrimaryKey()]) self.assertIsInstance(obj.id, datetime) + @skipUnlessDBFeature( + "can_return_rows_from_bulk_insert", "supports_expression_defaults" + ) + def test_db_expression_primary_key(self): + (obj,) = DbDefaultPrimaryKey.objects.bulk_create( + [DbDefaultPrimaryKey(id=Now())] + ) + self.assertIsInstance(obj.id, datetime) + @skipUnlessDBFeature("supports_transactions", "has_bulk_insert") class BulkCreateTransactionTests(TransactionTestCase): From 47ac64ed8bba4de98376b961c739036b3199394b Mon Sep 17 00:00:00 2001 From: Tim Schilling Date: Mon, 27 Oct 2025 10:09:11 -0500 Subject: [PATCH 17/44] Added community package email backends mention to docs. Co-authored-by: Clifford Gama --- docs/topics/email.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/topics/email.txt b/docs/topics/email.txt index 0f0e3bf276..0ce5d8f767 100644 --- a/docs/topics/email.txt +++ b/docs/topics/email.txt @@ -773,6 +773,16 @@ specify this backend, put the following in your settings:: This backend is not intended for use in production -- it is provided as a convenience that can be used during development. +.. admonition:: There are community-maintained solutions too! + + Django has a vibrant ecosystem. There are email backends + highlighted on the `Community Ecosystem`_ page. The Django Packages + `Email grid`_ has even more options for you! + +.. _Community Ecosystem: https://www.djangoproject.com/community/ecosystem/#email-and-notifications +.. _Email grid: https://djangopackages.org/grids/g/email/ + + .. _topic-custom-email-backend: Defining a custom email backend From 5ef870fbc5a65cce65b42a8f9cdb208a32d3dd31 Mon Sep 17 00:00:00 2001 From: Tim Schilling Date: Sat, 1 Nov 2025 07:11:42 -0500 Subject: [PATCH 18/44] Removed community packages admonition from settings docs. --- docs/ref/settings.txt | 9 --------- 1 file changed, 9 deletions(-) diff --git a/docs/ref/settings.txt b/docs/ref/settings.txt index c2cac541f7..8ac7a194f6 100644 --- a/docs/ref/settings.txt +++ b/docs/ref/settings.txt @@ -2767,15 +2767,6 @@ backend definition in :setting:`STORAGES`. Defining this setting overrides the default value and is *not* merged with it. -.. admonition:: There are community maintained solutions too! - - Django has a vibrant ecosystem. There are storage backends - highlighted on the `Community Ecosystem`_ page. The Django Packages - `Storage Backends grid`_ has even more options for you! - -.. _Community Ecosystem: https://www.djangoproject.com/community/ecosystem/#storage-and-static-files -.. _Storage Backends grid: https://djangopackages.org/grids/g/storage-backends/ - .. setting:: TASKS ``TASKS`` From 796cf3d325b4a1b9d9b5361c2c8c28a5edcfe89b Mon Sep 17 00:00:00 2001 From: Thomas Grainger Date: Fri, 7 Nov 2025 11:13:36 -0500 Subject: [PATCH 19/44] Refs #36315 -- Used contextlib.closing() in ASGIHandler.handle(). --- django/core/handlers/asgi.py | 106 +++++++++++++++++------------------ 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/django/core/handlers/asgi.py b/django/core/handlers/asgi.py index b4056ca042..dae545f3b3 100644 --- a/django/core/handlers/asgi.py +++ b/django/core/handlers/asgi.py @@ -3,7 +3,7 @@ import logging import sys import tempfile import traceback -from contextlib import aclosing +from contextlib import aclosing, closing from asgiref.sync import ThreadSensitiveContext, sync_to_async @@ -174,65 +174,65 @@ class ASGIHandler(base.BaseHandler): body_file = await self.read_body(receive) except RequestAborted: return - # Request is complete and can be served. - set_script_prefix(get_script_prefix(scope)) - await signals.request_started.asend(sender=self.__class__, scope=scope) - # Get the request and check for basic issues. - request, error_response = self.create_request(scope, body_file) - if request is None: - body_file.close() - await self.send_response(error_response, send) - await sync_to_async(error_response.close)() - return - async def process_request(request, send): - response = await self.run_get_response(request) - try: - await self.send_response(response, send) - except asyncio.CancelledError: - # Client disconnected during send_response (ignore exception). - pass + with closing(body_file): + # Request is complete and can be served. + set_script_prefix(get_script_prefix(scope)) + await signals.request_started.asend(sender=self.__class__, scope=scope) + # Get the request and check for basic issues. + request, error_response = self.create_request(scope, body_file) + if request is None: + body_file.close() + await self.send_response(error_response, send) + await sync_to_async(error_response.close)() + return - return response - - # Try to catch a disconnect while getting response. - tasks = [ - # Check the status of these tasks and (optionally) terminate them - # in this order. The listen_for_disconnect() task goes first - # because it should not raise unexpected errors that would prevent - # us from cancelling process_request(). - asyncio.create_task(self.listen_for_disconnect(receive)), - asyncio.create_task(process_request(request, send)), - ] - await asyncio.wait(tasks, return_when=asyncio.FIRST_COMPLETED) - # Now wait on both tasks (they may have both finished by now). - for task in tasks: - if task.done(): + async def process_request(request, send): + response = await self.run_get_response(request) try: - task.result() - except RequestAborted: - # Ignore client disconnects. - pass - except AssertionError: - body_file.close() - raise - else: - # Allow views to handle cancellation. - task.cancel() - try: - await task + await self.send_response(response, send) except asyncio.CancelledError: - # Task re-raised the CancelledError as expected. + # Client disconnected during send_response (ignore exception). pass - try: - response = tasks[1].result() - except asyncio.CancelledError: - await signals.request_finished.asend(sender=self.__class__) - else: - await sync_to_async(response.close)() + return response - body_file.close() + # Try to catch a disconnect while getting response. + tasks = [ + # Check the status of these tasks and (optionally) terminate them + # in this order. The listen_for_disconnect() task goes first + # because it should not raise unexpected errors that would prevent + # us from cancelling process_request(). + asyncio.create_task(self.listen_for_disconnect(receive)), + asyncio.create_task(process_request(request, send)), + ] + await asyncio.wait(tasks, return_when=asyncio.FIRST_COMPLETED) + # Now wait on both tasks (they may have both finished by now). + for task in tasks: + if task.done(): + try: + task.result() + except RequestAborted: + # Ignore client disconnects. + pass + except AssertionError: + body_file.close() + raise + else: + # Allow views to handle cancellation. + task.cancel() + try: + await task + except asyncio.CancelledError: + # Task re-raised the CancelledError as expected. + pass + + try: + response = tasks[1].result() + except asyncio.CancelledError: + await signals.request_finished.asend(sender=self.__class__) + else: + await sync_to_async(response.close)() async def listen_for_disconnect(self, receive): """Listen for disconnect from the client.""" From 2501958b5127020411df6271445ccfd0906df70e Mon Sep 17 00:00:00 2001 From: Thomas Grainger Date: Fri, 7 Nov 2025 11:14:06 -0500 Subject: [PATCH 20/44] Refs #36315 -- Replaced manual task and cancellation handling with TaskGroup in ASGIHandler. --- django/core/handlers/asgi.py | 58 +++++++++++------------------------- 1 file changed, 17 insertions(+), 41 deletions(-) diff --git a/django/core/handlers/asgi.py b/django/core/handlers/asgi.py index dae545f3b3..af8582d539 100644 --- a/django/core/handlers/asgi.py +++ b/django/core/handlers/asgi.py @@ -187,49 +187,25 @@ class ASGIHandler(base.BaseHandler): await sync_to_async(error_response.close)() return - async def process_request(request, send): - response = await self.run_get_response(request) - try: - await self.send_response(response, send) - except asyncio.CancelledError: - # Client disconnected during send_response (ignore exception). - pass - - return response - - # Try to catch a disconnect while getting response. - tasks = [ - # Check the status of these tasks and (optionally) terminate them - # in this order. The listen_for_disconnect() task goes first - # because it should not raise unexpected errors that would prevent - # us from cancelling process_request(). - asyncio.create_task(self.listen_for_disconnect(receive)), - asyncio.create_task(process_request(request, send)), - ] - await asyncio.wait(tasks, return_when=asyncio.FIRST_COMPLETED) - # Now wait on both tasks (they may have both finished by now). - for task in tasks: - if task.done(): - try: - task.result() - except RequestAborted: - # Ignore client disconnects. - pass - except AssertionError: - body_file.close() - raise - else: - # Allow views to handle cancellation. - task.cancel() - try: - await task - except asyncio.CancelledError: - # Task re-raised the CancelledError as expected. - pass + class RequestProcessed(Exception): + pass + response = None try: - response = tasks[1].result() - except asyncio.CancelledError: + try: + async with asyncio.TaskGroup() as tg: + tg.create_task(self.listen_for_disconnect(receive)) + response = await self.run_get_response(request) + await self.send_response(response, send) + raise RequestProcessed + except* (RequestProcessed, RequestAborted): + pass + except BaseExceptionGroup as exception_group: + if len(exception_group.exceptions) == 1: + raise exception_group.exceptions[0] + raise + + if response is None: await signals.request_finished.asend(sender=self.__class__) else: await sync_to_async(response.close)() From 27687475265f88bc0a0bcbfe2ba26da306bbfc20 Mon Sep 17 00:00:00 2001 From: Thomas Grainger Date: Thu, 10 Apr 2025 09:43:32 +0100 Subject: [PATCH 21/44] Fixed #36315 -- Used TaskGroup instead of asyncio.gather(). --- django/dispatch/dispatcher.py | 42 ++++++++++++++++++++++++++--------- docs/topics/signals.txt | 6 ++++- 2 files changed, 37 insertions(+), 11 deletions(-) diff --git a/django/dispatch/dispatcher.py b/django/dispatch/dispatcher.py index 120f2ac6de..63fb75285e 100644 --- a/django/dispatch/dispatcher.py +++ b/django/dispatch/dispatcher.py @@ -22,6 +22,28 @@ NONE_ID = _make_id(None) NO_RECEIVERS = object() +async def _gather(*coros): + if len(coros) == 0: + return [] + + if len(coros) == 1: + return [await coros[0]] + + async def run(i, coro): + results[i] = await coro + + try: + async with asyncio.TaskGroup() as tg: + results = [None] * len(coros) + for i, coro in enumerate(coros): + tg.create_task(run(i, coro)) + return results + except BaseExceptionGroup as exception_group: + if len(exception_group.exceptions) == 1: + raise exception_group.exceptions[0] + raise + + class Signal: """ Base class for all signals @@ -186,7 +208,7 @@ class Signal: If any receivers are asynchronous, they are called after all the synchronous receivers via a single call to async_to_sync(). They are - also executed concurrently with asyncio.gather(). + also executed concurrently with asyncio.TaskGroup(). Arguments: @@ -211,7 +233,7 @@ class Signal: if async_receivers: async def asend(): - async_responses = await asyncio.gather( + async_responses = await _gather( *( receiver(signal=self, sender=sender, **named) for receiver in async_receivers @@ -235,7 +257,7 @@ class Signal: sync_to_async() adaption before executing any asynchronous receivers. If any receivers are asynchronous, they are grouped and executed - concurrently with asyncio.gather(). + concurrently with asyncio.TaskGroup(). Arguments: @@ -268,9 +290,9 @@ class Signal: async def sync_send(): return [] - responses, async_responses = await asyncio.gather( + responses, async_responses = await _gather( sync_send(), - asyncio.gather( + _gather( *( receiver(signal=self, sender=sender, **named) for receiver in async_receivers @@ -294,7 +316,7 @@ class Signal: If any receivers are asynchronous, they are called after all the synchronous receivers via a single call to async_to_sync(). They are - also executed concurrently with asyncio.gather(). + also executed concurrently with asyncio.TaskGroup(). Arguments: @@ -340,7 +362,7 @@ class Signal: return response async def asend(): - async_responses = await asyncio.gather( + async_responses = await _gather( *( asend_and_wrap_exception(receiver) for receiver in async_receivers @@ -359,7 +381,7 @@ class Signal: sync_to_async() adaption before executing any asynchronous receivers. If any receivers are asynchronous, they are grouped and executed - concurrently with asyncio.gather. + concurrently with asyncio.TaskGroup. Arguments: @@ -414,9 +436,9 @@ class Signal: return err return response - responses, async_responses = await asyncio.gather( + responses, async_responses = await _gather( sync_send(), - asyncio.gather( + _gather( *(asend_and_wrap_exception(receiver) for receiver in async_receivers), ), ) diff --git a/docs/topics/signals.txt b/docs/topics/signals.txt index 4d32c55a2b..8f2246c55a 100644 --- a/docs/topics/signals.txt +++ b/docs/topics/signals.txt @@ -323,11 +323,15 @@ in order to reduce the number of sync/async calling-style switches within a they are async before being called. This means that an asynchronous receiver registered before a synchronous receiver may be executed after the synchronous receiver. In addition, async receivers are executed concurrently using -``asyncio.gather()``. +:class:`asyncio.TaskGroup`. All built-in signals, except those in the async request-response cycle, are dispatched using :meth:`Signal.send`. +.. versionchanged:: 6.1 + + In older versions, async receivers were executed via ``asyncio.gather()``. + Disconnecting signals ===================== From 1c7db70e79dce82f50d5958da64ab8e2807a31df Mon Sep 17 00:00:00 2001 From: Kasyap Pentamaraju Date: Mon, 3 Nov 2025 22:57:53 +0530 Subject: [PATCH 22/44] Fixed #36705 -- Avoided string concatenation in utils. Repeated string concatenation performs poorly on PyPy. Thanks Seokchan Yoon for the report. --- django/utils/html.py | 12 +++++++----- django/utils/http.py | 6 +++--- django/utils/numberformat.py | 8 ++++---- django/utils/text.py | 20 ++++++++++---------- docs/topics/performance.txt | 6 ++++++ 5 files changed, 30 insertions(+), 22 deletions(-) diff --git a/django/utils/html.py b/django/utils/html.py index b04d6bc5ee..059767d394 100644 --- a/django/utils/html.py +++ b/django/utils/html.py @@ -4,6 +4,7 @@ import html import json import re import warnings +from collections import deque from collections.abc import Mapping from html.parser import HTMLParser from urllib.parse import parse_qsl, quote, unquote, urlencode, urlsplit, urlunsplit @@ -429,7 +430,7 @@ class Urlizer: # Strip all opening wrapping punctuation. middle = word.lstrip(self.wrapping_punctuation_openings) lead = word[: len(word) - len(middle)] - trail = "" + trail = deque() # Continue trimming until middle remains unchanged. trimmed_something = True @@ -442,7 +443,7 @@ class Urlizer: rstripped = middle.rstrip(closing) if rstripped != middle: strip = counts[closing] - counts[opening] - trail = middle[-strip:] + trail.appendleft(middle[-strip:]) middle = middle[:-strip] trimmed_something = True counts[closing] -= strip @@ -453,7 +454,7 @@ class Urlizer: else: rstripped = middle.rstrip(self.trailing_punctuation_chars_no_semicolon) if rstripped != middle: - trail = middle[len(rstripped) :] + trail + trail.appendleft(middle[len(rstripped) :]) middle = rstripped trimmed_something = True @@ -470,13 +471,14 @@ class Urlizer: # entity. recent_semicolon = middle[trail_start:].index(";") middle_semicolon_index = recent_semicolon + trail_start + 1 - trail = middle[middle_semicolon_index:] + trail + trail.appendleft(middle[middle_semicolon_index:]) middle = rstripped + middle[trail_start:middle_semicolon_index] else: - trail = middle[trail_start:] + trail + trail.appendleft(middle[trail_start:]) middle = rstripped trimmed_something = True + trail = "".join(trail) return lead, middle, trail @staticmethod diff --git a/django/utils/http.py b/django/utils/http.py index fe0b21f150..21d5822bf2 100644 --- a/django/utils/http.py +++ b/django/utils/http.py @@ -169,11 +169,11 @@ def int_to_base36(i): raise ValueError("Negative base36 conversion input.") if i < 36: return char_set[i] - b36 = "" + b36_parts = [] while i != 0: i, n = divmod(i, 36) - b36 = char_set[n] + b36 - return b36 + b36_parts.append(char_set[n]) + return "".join(reversed(b36_parts)) def urlsafe_base64_encode(s): diff --git a/django/utils/numberformat.py b/django/utils/numberformat.py index cf8b2d219c..f621ff64b4 100644 --- a/django/utils/numberformat.py +++ b/django/utils/numberformat.py @@ -91,15 +91,15 @@ def format( # grouping is a single value intervals = [grouping, 0] active_interval = intervals.pop(0) - int_part_gd = "" + int_part_gd = [] cnt = 0 for digit in int_part[::-1]: if cnt and cnt == active_interval: if intervals: active_interval = intervals.pop(0) or active_interval - int_part_gd += thousand_sep[::-1] + int_part_gd.append(thousand_sep[::-1]) cnt = 0 - int_part_gd += digit + int_part_gd.append(digit) cnt += 1 - int_part = int_part_gd[::-1] + int_part = "".join(int_part_gd)[::-1] return sign + int_part + dec_part diff --git a/django/utils/text.py b/django/utils/text.py index bad1da6729..baf44265a4 100644 --- a/django/utils/text.py +++ b/django/utils/text.py @@ -103,7 +103,7 @@ class TruncateHTMLParser(HTMLParser): def __init__(self, *, length, replacement, convert_charrefs=True): super().__init__(convert_charrefs=convert_charrefs) self.tags = deque() - self.output = "" + self.output = [] self.remaining = length self.replacement = replacement @@ -119,13 +119,13 @@ class TruncateHTMLParser(HTMLParser): self.handle_endtag(tag) def handle_starttag(self, tag, attrs): - self.output += self.get_starttag_text() + self.output.append(self.get_starttag_text()) if tag not in self.void_elements: self.tags.appendleft(tag) def handle_endtag(self, tag): if tag not in self.void_elements: - self.output += f"" + self.output.append(f"") try: self.tags.remove(tag) except ValueError: @@ -136,16 +136,16 @@ class TruncateHTMLParser(HTMLParser): data_len = len(data) if self.remaining < data_len: self.remaining = 0 - self.output += add_truncation_text(output, self.replacement) + self.output.append(add_truncation_text(output, self.replacement)) raise self.TruncationCompleted self.remaining -= data_len - self.output += output + self.output.append(output) def feed(self, data): try: super().feed(data) except self.TruncationCompleted: - self.output += "".join([f"" for tag in self.tags]) + self.output.extend([f"" for tag in self.tags]) self.tags.clear() self.reset() else: @@ -166,9 +166,9 @@ class TruncateCharsHTMLParser(TruncateHTMLParser): def process(self, data): self.processed_chars += len(data) if (self.processed_chars == self.length) and ( - len(self.output) + len(data) == len(self.rawdata) + sum(len(p) for p in self.output) + len(data) == len(self.rawdata) ): - self.output += data + self.output.append(data) raise self.TruncationCompleted output = escape("".join(data[: self.remaining])) return data, output @@ -213,7 +213,7 @@ class Truncator(SimpleLazyObject): parser = TruncateCharsHTMLParser(length=length, replacement=truncate) parser.feed(text) parser.close() - return parser.output + return "".join(parser.output) return self._text_chars(length, truncate, text) def _text_chars(self, length, truncate, text): @@ -250,7 +250,7 @@ class Truncator(SimpleLazyObject): parser = TruncateWordsHTMLParser(length=length, replacement=truncate) parser.feed(self._wrapped) parser.close() - return parser.output + return "".join(parser.output) return self._text_words(length, truncate) def _text_words(self, length, truncate): diff --git a/docs/topics/performance.txt b/docs/topics/performance.txt index dcffb1a683..2935f21f67 100644 --- a/docs/topics/performance.txt +++ b/docs/topics/performance.txt @@ -426,6 +426,12 @@ Django is compatible with versions of PyPy corresponding to the supported Python versions, but you will need to check the compatibility of other libraries you rely on. +That said, a lot of a web framework's work is done by concatenating +strings, and PyPy has an issue with that (see +`this PyPy blog +`_). +This may cause performance issues, depending on your use. + C implementations of Python libraries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From c4e07f94ebc1f9eaa3dae7b3dc6a2b9832182a10 Mon Sep 17 00:00:00 2001 From: myoungjinGo Date: Wed, 16 Jul 2025 00:43:45 +0900 Subject: [PATCH 23/44] Fixed #36420 -- Used actual SQLite limits in last_executed_query() quoting. --- django/db/backends/sqlite3/operations.py | 18 ++++++------- tests/backends/sqlite/tests.py | 32 +++++++++++++++++------- 2 files changed, 32 insertions(+), 18 deletions(-) diff --git a/django/db/backends/sqlite3/operations.py b/django/db/backends/sqlite3/operations.py index 1500ae28aa..ac98324b2e 100644 --- a/django/db/backends/sqlite3/operations.py +++ b/django/db/backends/sqlite3/operations.py @@ -1,5 +1,6 @@ import datetime import decimal +import sqlite3 import uuid from functools import lru_cache from itertools import chain @@ -143,16 +144,15 @@ class DatabaseOperations(BaseDatabaseOperations): """ Only for last_executed_query! Don't use this to execute SQL queries! """ - # This function is limited both by SQLITE_LIMIT_VARIABLE_NUMBER (the - # number of parameters, default = 999) and SQLITE_MAX_COLUMN (the - # number of return values, default = 2000). Since Python's sqlite3 - # module doesn't expose the get_limit() C API, assume the default - # limits are in effect and split the work in batches if needed. - BATCH_SIZE = 999 - if len(params) > BATCH_SIZE: + connection = self.connection.connection + variable_limit = self.connection.features.max_query_params + column_limit = connection.getlimit(sqlite3.SQLITE_LIMIT_COLUMN) + batch_size = min(variable_limit, column_limit) + + if len(params) > batch_size: results = () - for index in range(0, len(params), BATCH_SIZE): - chunk = params[index : index + BATCH_SIZE] + for index in range(0, len(params), batch_size): + chunk = params[index : index + batch_size] results += self._quote_params_for_last_executed_query(chunk) return results diff --git a/tests/backends/sqlite/tests.py b/tests/backends/sqlite/tests.py index 37d95c0cb5..34c0eca0ff 100644 --- a/tests/backends/sqlite/tests.py +++ b/tests/backends/sqlite/tests.py @@ -1,5 +1,6 @@ import os import re +import sqlite3 import tempfile import threading import unittest @@ -215,15 +216,28 @@ class LastExecutedQueryTest(TestCase): substituted = "SELECT '\"''\\'" self.assertEqual(connection.queries[-1]["sql"], substituted) - def test_large_number_of_parameters(self): - # If SQLITE_MAX_VARIABLE_NUMBER (default = 999) has been changed to be - # greater than SQLITE_MAX_COLUMN (default = 2000), last_executed_query - # can hit the SQLITE_MAX_COLUMN limit (#26063). - with connection.cursor() as cursor: - sql = "SELECT MAX(%s)" % ", ".join(["%s"] * 2001) - params = list(range(2001)) - # This should not raise an exception. - cursor.db.ops.last_executed_query(cursor.cursor, sql, params) + def test_parameter_count_exceeds_variable_or_column_limit(self): + sql = "SELECT MAX(%s)" % ", ".join(["%s"] * 1001) + params = list(range(1001)) + for label, limit, current_limit in [ + ( + "variable", + sqlite3.SQLITE_LIMIT_VARIABLE_NUMBER, + connection.features.max_query_params, + ), + ( + "column", + sqlite3.SQLITE_LIMIT_COLUMN, + connection.connection.getlimit(sqlite3.SQLITE_LIMIT_COLUMN), + ), + ]: + with self.subTest(limit=label): + connection.connection.setlimit(limit, 1000) + self.addCleanup(connection.connection.setlimit, limit, current_limit) + with connection.cursor() as cursor: + # This should not raise an exception. + cursor.db.ops.last_executed_query(cursor.cursor, sql, params) + connection.connection.setlimit(limit, current_limit) @unittest.skipUnless(connection.vendor == "sqlite", "SQLite tests") From a4f76741340fb23566795e83f830a3f2d49acce0 Mon Sep 17 00:00:00 2001 From: Hong Xu Date: Sun, 3 Aug 2025 22:25:34 -0700 Subject: [PATCH 24/44] Clarified EmailValidator docs to specify it validates an email address. Updated the EmailValidator docs in docs/ref/validators.txt to explicitly state that it validates an email address, to avoid confusion with validating email message content. --- docs/ref/validators.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/ref/validators.txt b/docs/ref/validators.txt index 59eef7b35e..39b712695e 100644 --- a/docs/ref/validators.txt +++ b/docs/ref/validators.txt @@ -133,8 +133,8 @@ to, or in lieu of custom ``field.clean()`` methods. :param code: If not ``None``, overrides :attr:`code`. :param allowlist: If not ``None``, overrides :attr:`allowlist`. - An :class:`EmailValidator` ensures that a value looks like an email, and - raises a :exc:`~django.core.exceptions.ValidationError` with + An :class:`EmailValidator` ensures that a value looks like an email + address, and raises a :exc:`~django.core.exceptions.ValidationError` with :attr:`message` and :attr:`code` if it doesn't. Values longer than 320 characters are always considered invalid. From c135be349ddd9fd71b15d4b20e7fc46814e4ca7c Mon Sep 17 00:00:00 2001 From: Clifford Gama Date: Mon, 10 Nov 2025 19:11:28 +0200 Subject: [PATCH 25/44] Clarified "get_db_prep_value" default result in docs/ref/models/fields.txt. --- docs/ref/models/fields.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/ref/models/fields.txt b/docs/ref/models/fields.txt index 4e515d428e..649073b708 100644 --- a/docs/ref/models/fields.txt +++ b/docs/ref/models/fields.txt @@ -2523,8 +2523,8 @@ Field API reference .. method:: get_db_prep_value(value, connection, prepared=False) Converts ``value`` to a backend-specific value. By default it returns - ``value`` if ``prepared=True`` and :meth:`~Field.get_prep_value` if is - ``False``. + ``value`` if ``prepared=True``, and :meth:`get_prep_value(value) + ` otherwise. See :ref:`converting-query-values-to-database-values` for usage. From 01c70ba14899409e86dc3f6c6bcae0afc48094e7 Mon Sep 17 00:00:00 2001 From: Markus Holtermann Date: Thu, 6 Nov 2025 14:24:28 +0100 Subject: [PATCH 26/44] Fixed unsafe variable interpolation in GitHub Action workflow. Thank you Davide Netti for the report and initial patch. Co-authored-by: Davide Netti --- .github/workflows/check_commit_messages.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check_commit_messages.yml b/.github/workflows/check_commit_messages.yml index 701d6f0584..1a6d6d1958 100644 --- a/.github/workflows/check_commit_messages.yml +++ b/.github/workflows/check_commit_messages.yml @@ -24,8 +24,9 @@ jobs: echo "prefix=[$VERSION]" >> $GITHUB_OUTPUT - name: Check PR title prefix + env: + TITLE: ${{ github.event.pull_request.title }} run: | - TITLE="${{ github.event.pull_request.title }}" PREFIX="${{ steps.vars.outputs.prefix }}" if [[ "$TITLE" != "$PREFIX"* ]]; then echo "❌ PR title must start with the required prefix: $PREFIX" From e78420c2b8ef62acb6b7a37b71e3aa6833d630fb Mon Sep 17 00:00:00 2001 From: Jacob Walls Date: Tue, 4 Nov 2025 14:34:17 -0500 Subject: [PATCH 27/44] Refs #36680 -- Avoided manipulating PATH in AdminScriptTestCase. This mostly reverts 6436ec321073bf0622af815e0af08f54c97f9b30, which was fragile. Instead, if black is present, we use it to format the expected and actual results, instead of hard-coding the expected formatted value. Co-authored-by: Natalia <124304+nessita@users.noreply.github.com> --- tests/admin_scripts/tests.py | 73 ++++++++++++++---------------------- 1 file changed, 28 insertions(+), 45 deletions(-) diff --git a/tests/admin_scripts/tests.py b/tests/admin_scripts/tests.py index c01a5571dc..0c27194568 100644 --- a/tests/admin_scripts/tests.py +++ b/tests/admin_scripts/tests.py @@ -33,13 +33,11 @@ from django.core.management.base import LabelCommand, SystemCheckError from django.core.management.commands.loaddata import Command as LoaddataCommand from django.core.management.commands.runserver import Command as RunserverCommand from django.core.management.commands.testserver import Command as TestserverCommand -from django.core.management.utils import find_formatters from django.db import ConnectionHandler, connection from django.db.migrations.recorder import MigrationRecorder from django.test import LiveServerTestCase, SimpleTestCase, TestCase, override_settings from django.test.utils import captured_stderr, captured_stdout from django.urls import path -from django.utils.functional import cached_property from django.utils.version import PY313, get_docs_version from django.views.static import serve @@ -49,6 +47,8 @@ custom_templates_dir = os.path.join(os.path.dirname(__file__), "custom_templates SYSTEM_CHECK_MSG = "System check identified no issues" +HAS_BLACK = shutil.which("black") + class AdminScriptTestCase(SimpleTestCase): def setUp(self): @@ -112,21 +112,7 @@ class AdminScriptTestCase(SimpleTestCase): paths.append(os.path.dirname(backend_dir)) return paths - @cached_property - def path_without_formatters(self): - return os.pathsep.join( - [ - path_component - for path_component in os.environ.get("PATH", "").split(os.pathsep) - for formatter_path in find_formatters().values() - if formatter_path - and os.path.commonpath([path_component, formatter_path]) == os.sep - ] - ) - - def run_test( - self, args, settings_file=None, apps=None, umask=-1, discover_formatters=False - ): + def run_test(self, args, settings_file=None, apps=None, umask=-1): base_dir = os.path.dirname(self.test_dir) # The base dir for Django's tests is one level up. tests_dir = os.path.dirname(os.path.dirname(__file__)) @@ -148,8 +134,6 @@ class AdminScriptTestCase(SimpleTestCase): python_path.extend(ext_backend_base_dirs) test_environ["PYTHONPATH"] = os.pathsep.join(python_path) test_environ["PYTHONWARNINGS"] = "" - if not discover_formatters: - test_environ["PATH"] = self.path_without_formatters p = subprocess.run( [sys.executable, *args], @@ -161,19 +145,10 @@ class AdminScriptTestCase(SimpleTestCase): ) return p.stdout, p.stderr - def run_django_admin( - self, args, settings_file=None, umask=-1, discover_formatters=False - ): - return self.run_test( - ["-m", "django", *args], - settings_file, - umask=umask, - discover_formatters=discover_formatters, - ) + def run_django_admin(self, args, settings_file=None, umask=-1): + return self.run_test(["-m", "django", *args], settings_file, umask=umask) - def run_manage( - self, args, settings_file=None, manage_py=None, discover_formatters=False - ): + def run_manage(self, args, settings_file=None, manage_py=None): template_manage_py = ( os.path.join(os.path.dirname(__file__), manage_py) if manage_py @@ -192,11 +167,17 @@ class AdminScriptTestCase(SimpleTestCase): with open(test_manage_py, "w") as fp: fp.write(manage_py_contents) - return self.run_test( - ["./manage.py", *args], - settings_file, - discover_formatters=discover_formatters, - ) + return self.run_test(["./manage.py", *args], settings_file) + + def assertInAfterFormatting(self, member, container, msg=None): + if HAS_BLACK: + import black + + # Black does not have a stable API, but this is still less fragile + # than attempting to filter out all paths where it is available. + member = black.format_str(member, mode=black.FileMode()) + + self.assertIn(member, container, msg=msg) def assertNoOutput(self, stream): "Utility assertion: assert that the given stream is empty" @@ -773,7 +754,7 @@ class DjangoAdminSettingsDirectory(AdminScriptTestCase): with open(os.path.join(app_path, "apps.py")) as f: content = f.read() self.assertIn("class SettingsTestConfig(AppConfig)", content) - self.assertIn("name = 'settings_test'", content) + self.assertInAfterFormatting("name = 'settings_test'", content) def test_setup_environ_custom_template(self): """ @@ -798,7 +779,7 @@ class DjangoAdminSettingsDirectory(AdminScriptTestCase): with open(os.path.join(app_path, "apps.py"), encoding="utf8") as f: content = f.read() self.assertIn("class こんにちはConfig(AppConfig)", content) - self.assertIn("name = 'こんにちは'", content) + self.assertInAfterFormatting("name = 'こんにちは'", content) def test_builtin_command(self): """ @@ -1960,7 +1941,7 @@ class CommandTypes(AdminScriptTestCase): def test_version(self): "version is handled as a special case" args = ["version"] - out, err = self.run_manage(args, discover_formatters=True) + out, err = self.run_manage(args) self.assertNoOutput(err) self.assertOutput(out, get_version()) @@ -2713,7 +2694,7 @@ class StartProject(LiveServerTestCase, AdminScriptTestCase): args = ["startproject", "--template", template_path, "customtestproject"] testproject_dir = os.path.join(self.test_dir, "customtestproject") - _, err = self.run_django_admin(args, discover_formatters=True) + _, err = self.run_django_admin(args) self.assertNoOutput(err) with open( os.path.join(template_path, "additional_dir", "requirements.in") @@ -2808,7 +2789,7 @@ class StartProject(LiveServerTestCase, AdminScriptTestCase): f"{self.live_server_url}/user_agent_check/project_template.tgz" ) args = ["startproject", "--template", template_url, "urltestproject"] - _, err = self.run_django_admin(args, discover_formatters=True) + _, err = self.run_django_admin(args) self.assertNoOutput(err) self.assertIn("Django/%s" % get_version(), user_agent) @@ -2879,8 +2860,10 @@ class StartProject(LiveServerTestCase, AdminScriptTestCase): test_manage_py = os.path.join(testproject_dir, "manage.py") with open(test_manage_py) as fp: content = fp.read() - self.assertIn('project_name = "another_project"', content) - self.assertIn('project_directory = "%s"' % testproject_dir, content) + self.assertInAfterFormatting('project_name = "another_project"', content) + self.assertInAfterFormatting( + 'project_directory = "%s"' % testproject_dir, content + ) def test_no_escaping_of_project_variables(self): "Make sure template context variables are not html escaped" @@ -2990,7 +2973,7 @@ class StartProject(LiveServerTestCase, AdminScriptTestCase): self.assertNoOutput(err) render_py_path = os.path.join(testproject_dir, ".hidden", "render.py") with open(render_py_path) as fp: - self.assertIn( + self.assertInAfterFormatting( f"# The {project_name} should be rendered.", fp.read(), ) @@ -3150,7 +3133,7 @@ class StartApp(AdminScriptTestCase): with open(os.path.join(app_path, "apps.py")) as f: content = f.read() self.assertIn("class NewAppConfig(AppConfig)", content) - self.assertIn("name = 'new_app'", content) + self.assertInAfterFormatting("name = 'new_app'", content) def test_creates_directory_when_custom_app_destination_missing(self): args = [ From fffa64abc3870989d62659453cb302857c539956 Mon Sep 17 00:00:00 2001 From: Kasyap Pentamaraju Date: Fri, 7 Nov 2025 10:31:53 +0530 Subject: [PATCH 28/44] Fixed #36715 -- Handled non-finite Decimals in intcomma filter. --- django/utils/numberformat.py | 3 +++ tests/humanize_tests/tests.py | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/django/utils/numberformat.py b/django/utils/numberformat.py index f621ff64b4..c064ce6918 100644 --- a/django/utils/numberformat.py +++ b/django/utils/numberformat.py @@ -48,6 +48,9 @@ def format( if abs(number) < cutoff: number = Decimal("0") + if not number.is_finite(): + return str(number) + # Format values with more than 200 digits (an arbitrary cutoff) using # scientific notation to avoid high memory usage in {:f}'.format(). _, digits, exponent = number.as_tuple() diff --git a/tests/humanize_tests/tests.py b/tests/humanize_tests/tests.py index b9f1e58ef7..7c2863d3c4 100644 --- a/tests/humanize_tests/tests.py +++ b/tests/humanize_tests/tests.py @@ -153,6 +153,9 @@ class HumanizeTests(SimpleTestCase): "-1234567.1234567", Decimal("1234567.1234567"), Decimal("-1234567.1234567"), + Decimal("Infinity"), + Decimal("-Infinity"), + Decimal("NaN"), None, "1234567", "-1234567", @@ -193,6 +196,9 @@ class HumanizeTests(SimpleTestCase): "-1,234,567.1234567", "1,234,567.1234567", "-1,234,567.1234567", + "Infinity", + "-Infinity", + "NaN", None, "1,234,567", "-1,234,567", From 2b0f24e6223bf7e294fba63741f58eb7b0bf49ff Mon Sep 17 00:00:00 2001 From: Clifford Gama Date: Mon, 10 Nov 2025 22:59:38 +0200 Subject: [PATCH 29/44] Fixed typo in docs/ref/databases.txt. --- docs/ref/databases.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ref/databases.txt b/docs/ref/databases.txt index 9ea54297aa..e708e73937 100644 --- a/docs/ref/databases.txt +++ b/docs/ref/databases.txt @@ -1223,7 +1223,7 @@ Subclassing the built-in database backends ========================================== Django comes with built-in database backends. You may subclass an existing -database backends to modify its behavior, features, or configuration. +database backend to modify its behavior, features, or configuration. Consider, for example, that you need to change a single database feature. First, you have to create a new directory with a ``base`` module in it. For From 6821a7c9904861bf1381383b95ed85ff49d9ee5d Mon Sep 17 00:00:00 2001 From: Dani Fornons Date: Mon, 10 Nov 2025 10:21:46 +0100 Subject: [PATCH 30/44] Fixed #36053 -- Fixed placement of FilteredSelectMultiple widget label. --- django/contrib/admin/static/admin/js/SelectFilter2.js | 5 ++--- js_tests/admin/SelectFilter2.test.js | 7 +++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/django/contrib/admin/static/admin/js/SelectFilter2.js b/django/contrib/admin/static/admin/js/SelectFilter2.js index 2100280220..fde59d3029 100644 --- a/django/contrib/admin/static/admin/js/SelectFilter2.js +++ b/django/contrib/admin/static/admin/js/SelectFilter2.js @@ -32,9 +32,8 @@ Requires core.js and SelectBox.js. //
or
const selector_div = quickElement('div', from_box.parentNode); - // Make sure the selector div is at the beginning so that the - // add link would be displayed to the right of the widget. - from_box.parentNode.prepend(selector_div); + // Make sure the selector div appears between the label and the add link. + from_box.parentNode.insertBefore(selector_div, from_box.nextSibling); selector_div.className = is_stacked ? 'selector stacked' : 'selector'; //
diff --git a/js_tests/admin/SelectFilter2.test.js b/js_tests/admin/SelectFilter2.test.js index 533c24811c..9a020d2c53 100644 --- a/js_tests/admin/SelectFilter2.test.js +++ b/js_tests/admin/SelectFilter2.test.js @@ -10,8 +10,11 @@ QUnit.test('init', function(assert) { $('
This is helpful.
').appendTo('#test'); $('').appendTo('#test'); SelectFilter.init('id', 'things', 0); - assert.equal($('#test').children().first().prop("tagName"), "DIV"); - assert.equal($('#test').children().first().attr("class"), "selector"); + assert.deepEqual( + Array.from($('#test')[0].children).map(child => child.tagName), + ["LABEL", "DIV", "DIV"] + ); + assert.equal($('.helptext')[0].nextSibling.getAttribute("class"), "selector"); assert.equal($('.selector-available label').text().trim(), "Available things"); assert.equal($('.selector-available label').attr("id"), "id_from_label"); assert.equal($('.selector-chosen label').text().trim(), "Chosen things"); From c60a708b58d6c8725f2e9dc46ac43d38250989b8 Mon Sep 17 00:00:00 2001 From: Jacob Walls Date: Tue, 11 Nov 2025 16:36:49 -0500 Subject: [PATCH 31/44] Refs #35844 -- Checked for forkserver mode when running runtests.py with --selenium and --parallel. --- tests/runtests.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/runtests.py b/tests/runtests.py index ccfc3279ff..974ec257d5 100755 --- a/tests/runtests.py +++ b/tests/runtests.py @@ -746,7 +746,10 @@ if __name__ == "__main__": options.settings = os.environ["DJANGO_SETTINGS_MODULE"] if options.selenium: - if multiprocessing.get_start_method() == "spawn" and options.parallel != 1: + if ( + multiprocessing.get_start_method() in {"spawn", "forkserver"} + and options.parallel != 1 + ): parser.error( "You cannot use --selenium with parallel tests on this system. " "Pass --parallel=1 to use --selenium." From c0d7fbe5021b0d2aaa5bb1196a6b43afcecec4d0 Mon Sep 17 00:00:00 2001 From: Jacob Walls Date: Tue, 11 Nov 2025 16:44:04 -0500 Subject: [PATCH 32/44] Refs #35844 -- Ran selenium tests with --parallel=1. --- .github/workflows/screenshots.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/screenshots.yml b/.github/workflows/screenshots.yml index 239b6958d8..1a835fe1a6 100644 --- a/.github/workflows/screenshots.yml +++ b/.github/workflows/screenshots.yml @@ -33,7 +33,7 @@ jobs: - name: Run Selenium tests with screenshots working-directory: ./tests/ - run: python -Wall runtests.py --verbosity=2 --noinput --selenium=chrome --headless --screenshots --settings=test_sqlite --parallel=2 + run: python -Wall runtests.py --verbosity=2 --noinput --selenium=chrome --headless --screenshots --settings=test_sqlite --parallel=1 - name: Cache oxipng uses: actions/cache@v4 From a1ce852e52f45da7528446cef3a1f02416531771 Mon Sep 17 00:00:00 2001 From: Jacob Walls Date: Tue, 11 Nov 2025 20:51:13 -0500 Subject: [PATCH 33/44] Refs #35844 -- Ran further selenium tests with --parallel=1. --- .github/workflows/schedule_tests.yml | 4 ++-- .github/workflows/selenium.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/schedule_tests.yml b/.github/workflows/schedule_tests.yml index 5490c35a4c..e2d3e55590 100644 --- a/.github/workflows/schedule_tests.yml +++ b/.github/workflows/schedule_tests.yml @@ -98,7 +98,7 @@ jobs: - name: Run Selenium tests working-directory: ./tests/ run: | - python -Wall runtests.py --verbosity 2 --noinput --selenium=chrome --headless --settings=test_sqlite --parallel 2 + python -Wall runtests.py --verbosity 2 --noinput --selenium=chrome --headless --settings=test_sqlite --parallel 1 selenium-postgresql: runs-on: ubuntu-latest @@ -136,7 +136,7 @@ jobs: - name: Run Selenium tests working-directory: ./tests/ run: | - python -Wall runtests.py --verbosity 2 --noinput --selenium=chrome --headless --settings=test_postgres --parallel 2 + python -Wall runtests.py --verbosity 2 --noinput --selenium=chrome --headless --settings=test_postgres --parallel 1 postgresql: strategy: diff --git a/.github/workflows/selenium.yml b/.github/workflows/selenium.yml index b9a573e37b..d62268658f 100644 --- a/.github/workflows/selenium.yml +++ b/.github/workflows/selenium.yml @@ -35,7 +35,7 @@ jobs: - name: Run Selenium tests working-directory: ./tests/ run: | - python -Wall runtests.py --verbosity 2 --noinput --selenium=chrome --headless --settings=test_sqlite --parallel 2 + python -Wall runtests.py --verbosity 2 --noinput --selenium=chrome --headless --settings=test_sqlite --parallel 1 selenium-postgresql: if: contains(github.event.pull_request.labels.*.name, 'selenium') @@ -74,4 +74,4 @@ jobs: - name: Run Selenium tests working-directory: ./tests/ run: | - python -Wall runtests.py --verbosity 2 --noinput --selenium=chrome --headless --settings=test_postgres --parallel 2 + python -Wall runtests.py --verbosity 2 --noinput --selenium=chrome --headless --settings=test_postgres --parallel 1 From 66b5a6de78ac3bcdf586844eac61663fece10ab5 Mon Sep 17 00:00:00 2001 From: Clifford Gama Date: Sun, 9 Nov 2025 11:32:25 +0200 Subject: [PATCH 34/44] Refs #35381 -- Made JSONNull deconstruct using convenient import path. --- django/db/models/fields/json.py | 2 ++ tests/model_fields/test_jsonfield.py | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/django/db/models/fields/json.py b/django/db/models/fields/json.py index 819c87119a..8ca9cc6811 100644 --- a/django/db/models/fields/json.py +++ b/django/db/models/fields/json.py @@ -12,6 +12,7 @@ from django.db.models.lookups import ( PostgresOperatorLookup, Transform, ) +from django.utils.deconstruct import deconstructible from django.utils.deprecation import RemovedInDjango70Warning, django_file_prefixes from django.utils.translation import gettext_lazy as _ @@ -150,6 +151,7 @@ class JSONField(CheckFieldDefaultMixin, Field): ) +@deconstructible(path="django.db.models.JSONNull") class JSONNull(expressions.Value): """Represent JSON `null` primitive.""" diff --git a/tests/model_fields/test_jsonfield.py b/tests/model_fields/test_jsonfield.py index 937b557794..cf8e1888e5 100644 --- a/tests/model_fields/test_jsonfield.py +++ b/tests/model_fields/test_jsonfield.py @@ -1265,6 +1265,13 @@ class JSONNullTests(TestCase): def test_repr(self): self.assertEqual(repr(JSONNull()), "JSONNull()") + def test_deconstruct(self): + jsonnull = JSONNull() + path, args, kwargs = jsonnull.deconstruct() + self.assertEqual(path, "django.db.models.JSONNull") + self.assertEqual(args, ()) + self.assertEqual(kwargs, {}) + def test_save_load(self): obj = JSONModel(value=JSONNull()) obj.save() From 5401b125abca53200eacb62c8a10e602359b76d4 Mon Sep 17 00:00:00 2001 From: Benedict Etzel Date: Mon, 10 Nov 2025 13:29:34 +0100 Subject: [PATCH 35/44] Fixed #36717 -- Redirect authenticated users on admin login view to next URL. Co-authored-by: Natalia <124304+nessita@users.noreply.github.com> --- AUTHORS | 1 + django/contrib/admin/sites.py | 18 ++++++++---------- django/contrib/auth/views.py | 24 ++++++++++++++++-------- docs/releases/6.1.txt | 3 ++- tests/admin_views/tests.py | 26 ++++++++++++++++++++++++++ 5 files changed, 53 insertions(+), 19 deletions(-) diff --git a/AUTHORS b/AUTHORS index 5acbe27233..5e7bca67f5 100644 --- a/AUTHORS +++ b/AUTHORS @@ -159,6 +159,7 @@ answer newbie questions, and generally made Django that much better: Ben Slavin Ben Sturmfels Bendegúz Csirmaz + Benedict Etzel Berker Peksag Bernd Schlapsi Bernhard Essl diff --git a/django/contrib/admin/sites.py b/django/contrib/admin/sites.py index 17af19fd1b..410bf20da0 100644 --- a/django/contrib/admin/sites.py +++ b/django/contrib/admin/sites.py @@ -416,29 +416,27 @@ class AdminSite: """ Display the login form for the given HttpRequest. """ - if request.method == "GET" and self.has_permission(request): - # Already logged-in, redirect to admin index - index_path = reverse("admin:index", current_app=self.name) - return HttpResponseRedirect(index_path) - # Since this module gets imported in the application's root package, # it cannot import models from other applications at the module level, # and django.contrib.admin.forms eventually imports User. from django.contrib.admin.forms import AdminAuthenticationForm from django.contrib.auth.views import LoginView + redirect_url = LoginView().get_redirect_url(request) or reverse( + "admin:index", current_app=self.name + ) + if request.method == "GET" and self.has_permission(request): + # Already logged-in, redirect accordingly. + return HttpResponseRedirect(redirect_url) + context = { **self.each_context(request), "title": _("Log in"), "subtitle": None, "app_path": request.get_full_path(), "username": request.user.get_username(), + REDIRECT_FIELD_NAME: redirect_url, } - if ( - REDIRECT_FIELD_NAME not in request.GET - and REDIRECT_FIELD_NAME not in request.POST - ): - context[REDIRECT_FIELD_NAME] = reverse("admin:index", current_app=self.name) context.update(extra_context or {}) defaults = { diff --git a/django/contrib/auth/views.py b/django/contrib/auth/views.py index 295f2219cf..dcffb4aca6 100644 --- a/django/contrib/auth/views.py +++ b/django/contrib/auth/views.py @@ -40,20 +40,28 @@ class RedirectURLMixin: def get_success_url(self): return self.get_redirect_url() or self.get_default_redirect_url() - def get_redirect_url(self): - """Return the user-originating redirect URL if it's safe.""" - redirect_to = self.request.POST.get( - self.redirect_field_name, self.request.GET.get(self.redirect_field_name) + def get_redirect_url(self, request=None): + """Return the user-originating redirect URL if it's safe. + + Optionally takes a request argument, allowing use outside class-based + views. + """ + if request is None: + request = self.request + redirect_to = request.POST.get( + self.redirect_field_name, request.GET.get(self.redirect_field_name) ) url_is_safe = url_has_allowed_host_and_scheme( url=redirect_to, - allowed_hosts=self.get_success_url_allowed_hosts(), - require_https=self.request.is_secure(), + allowed_hosts=self.get_success_url_allowed_hosts(request), + require_https=request.is_secure(), ) return redirect_to if url_is_safe else "" - def get_success_url_allowed_hosts(self): - return {self.request.get_host(), *self.success_url_allowed_hosts} + def get_success_url_allowed_hosts(self, request=None): + if request is None: + request = self.request + return {request.get_host(), *self.success_url_allowed_hosts} def get_default_redirect_url(self): """Return the default redirect URL.""" diff --git a/docs/releases/6.1.txt b/docs/releases/6.1.txt index 036fee53cf..e0edf6876a 100644 --- a/docs/releases/6.1.txt +++ b/docs/releases/6.1.txt @@ -92,7 +92,8 @@ Minor features :mod:`django.contrib.admin` ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -* ... +* The admin site login view now redirects authenticated users to the next URL, + if available, instead of always redirecting to the admin index page. :mod:`django.contrib.admindocs` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py index 868b616d76..f7eaad659e 100644 --- a/tests/admin_views/tests.py +++ b/tests/admin_views/tests.py @@ -2413,6 +2413,32 @@ class AdminViewPermissionsTest(TestCase): self.assertEqual(response.status_code, 200) self.assertEqual(response.context[REDIRECT_FIELD_NAME], reverse("admin:index")) + def test_login_redirect_when_logged_in(self): + self.client.force_login(self.superuser) + response = self.client.get(reverse("admin:login")) + self.assertRedirects(response, reverse("admin:index")) + + def test_login_redirect_to_next_url_when_logged_in(self): + self.client.force_login(self.superuser) + next_url = reverse("admin:admin_views_article_add") + response = self.client.get( + reverse("admin:login"), + query_params={REDIRECT_FIELD_NAME: next_url}, + ) + self.assertRedirects(response, next_url) + + def test_login_redirect_unsafe_next_url_when_logged_in(self): + self.client.force_login(self.superuser) + response = self.client.get( + reverse("admin:login"), + query_params={ + REDIRECT_FIELD_NAME: "https://example.com/bad", + }, + ) + self.assertRedirects( + response, reverse("admin:index"), fetch_redirect_response=False + ) + def test_login_has_permission(self): # Regular User should not be able to login. response = self.client.get(reverse("has_permission_admin:index")) From abfa4619fb818ff694c22e962a280673e085239e Mon Sep 17 00:00:00 2001 From: Adam Johnson Date: Wed, 12 Nov 2025 19:47:16 +0000 Subject: [PATCH 36/44] Fixed #36730 -- Fixed constraint validation crash for excluded FK attnames. Regression in e44e8327d3d88d86895735c0e427102063ff5b55. Co-authored-by: Mariusz Felisiak --- django/db/models/constraints.py | 7 +++++-- tests/model_forms/models.py | 19 +++++++++++++++++++ tests/model_forms/tests.py | 15 +++++++++++++++ 3 files changed, 39 insertions(+), 2 deletions(-) diff --git a/django/db/models/constraints.py b/django/db/models/constraints.py index 73ab23bdfa..93251ff322 100644 --- a/django/db/models/constraints.py +++ b/django/db/models/constraints.py @@ -51,9 +51,12 @@ class BaseConstraint: def _expression_refs_exclude(cls, model, expression, exclude): get_field = model._meta.get_field for field_name, *__ in model._get_expr_references(expression): - if field_name in exclude: + if field_name == "pk": + field = model._meta.pk + else: + field = get_field(field_name) + if field_name in exclude or field.name in exclude: return True - field = get_field(field_name) if field.generated and cls._expression_refs_exclude( model, field.expression, exclude ): diff --git a/tests/model_forms/models.py b/tests/model_forms/models.py index f6c34a3521..83daa13d71 100644 --- a/tests/model_forms/models.py +++ b/tests/model_forms/models.py @@ -543,3 +543,22 @@ class ConstraintsModel(models.Model): violation_error_message="Price must be greater than zero.", ), ] + + +class AttnameConstraintsModel(models.Model): + left = models.ForeignKey( + "self", related_name="+", null=True, on_delete=models.SET_NULL + ) + right = models.ForeignKey( + "self", related_name="+", null=True, on_delete=models.SET_NULL + ) + + class Meta: + required_db_features = {"supports_table_check_constraints"} + constraints = [ + models.CheckConstraint( + name="%(app_label)s_%(class)s_left_not_right", + # right_id here is the ForeignKey's attname, not name. + condition=~models.Q(left=models.F("right_id")), + ), + ] diff --git a/tests/model_forms/tests.py b/tests/model_forms/tests.py index f0334e1e86..129ce56c7a 100644 --- a/tests/model_forms/tests.py +++ b/tests/model_forms/tests.py @@ -30,6 +30,7 @@ from django.utils.version import PY314, PYPY from .models import ( Article, ArticleStatus, + AttnameConstraintsModel, Author, Author1, Award, @@ -3766,3 +3767,17 @@ class ConstraintValidationTests(TestCase): self.assertEqual( full_form.errors, {"__all__": ["Price must be greater than zero."]} ) + + def test_check_constraint_refs_excluded_field_attname(self): + left = AttnameConstraintsModel.objects.create() + instance = AttnameConstraintsModel.objects.create(left=left) + data = { + "left": str(left.id), + "right": "", + } + AttnameConstraintsModelForm = modelform_factory( + AttnameConstraintsModel, fields="__all__" + ) + full_form = AttnameConstraintsModelForm(data, instance=instance) + self.assertFalse(full_form.is_valid()) + self.assertEqual(full_form.errors, {"right": ["This field is required."]}) From 1b539ef27e776bd6112e8f22e653feca5279c4fb Mon Sep 17 00:00:00 2001 From: Simon Charette Date: Sat, 8 Nov 2025 15:26:36 -0500 Subject: [PATCH 37/44] Refs #31055 -- Augmented regression tests for database system checks. We might want to change this in the future but it should be further discussed first. --- tests/check_framework/tests.py | 16 ++++++++++++++-- tests/migrations/test_commands.py | 21 ++++++++++++++++++++- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/tests/check_framework/tests.py b/tests/check_framework/tests.py index f926308fd7..c5f53c4789 100644 --- a/tests/check_framework/tests.py +++ b/tests/check_framework/tests.py @@ -1,11 +1,11 @@ import multiprocessing import sys from io import StringIO -from unittest import skipIf +from unittest import mock, skipIf from django.apps import apps from django.core import checks -from django.core.checks import Error, Warning +from django.core.checks import Error, Tags, Warning from django.core.checks.messages import CheckMessage from django.core.checks.registry import CheckRegistry from django.core.management import call_command @@ -268,6 +268,18 @@ class CheckCommandTests(SimpleTestCase): with self.assertRaises(CommandError): call_command("check", fail_level="WARNING") + def test_database_system_checks(self): + database_check = mock.Mock(return_value=[], tags=[Tags.database]) + + with override_system_checks([database_check]): + call_command("check") + database_check.assert_called_once_with(app_configs=None, databases=None) + database_check.reset_mock() + call_command("check", databases=["default"]) + database_check.assert_called_once_with( + app_configs=None, databases=["default"] + ) + def custom_error_system_check(app_configs, **kwargs): return [Error("Error", id="myerrorcheck.E001")] diff --git a/tests/migrations/test_commands.py b/tests/migrations/test_commands.py index b5817081d2..83c5575fd3 100644 --- a/tests/migrations/test_commands.py +++ b/tests/migrations/test_commands.py @@ -113,7 +113,7 @@ class MigrateTests(MigrationTestBase): out = io.StringIO() call_command("migrate", skip_checks=False, no_color=True, stdout=out) self.assertIn("Apply all migrations: migrated_app", out.getvalue()) - mocked_check.assert_called_once() + mocked_check.assert_called_once_with(databases=["default"]) def test_migrate_with_custom_system_checks(self): original_checks = registry.registered_checks.copy() @@ -137,6 +137,25 @@ class MigrateTests(MigrationTestBase): command = CustomMigrateCommandWithSecurityChecks() call_command(command, skip_checks=False, stdout=io.StringIO()) + @override_settings( + INSTALLED_APPS=[ + "django.contrib.auth", + "django.contrib.contenttypes", + "migrations.migrations_test_apps.migrated_app", + ] + ) + def test_migrate_runs_database_system_checks(self): + original_checks = registry.registered_checks.copy() + self.addCleanup(setattr, registry, "registered_checks", original_checks) + + out = io.StringIO() + mock_check = mock.Mock(return_value=[]) + register(mock_check, Tags.database) + + call_command("migrate", skip_checks=False, no_color=True, stdout=out) + self.assertIn("Apply all migrations: migrated_app", out.getvalue()) + mock_check.assert_called_once_with(app_configs=None, databases=["default"]) + @override_settings( INSTALLED_APPS=[ "migrations", From 96ee097bd68a93e0f360326271ebe78553fae15b Mon Sep 17 00:00:00 2001 From: Simon Charette Date: Sat, 8 Nov 2025 16:40:26 -0500 Subject: [PATCH 38/44] Refs #31055 -- Adjusted passing of Field.check kwargs to ArrayField.base_field. This was missed when Field.check(databases) was introduced. --- django/contrib/postgres/fields/array.py | 2 +- tests/postgres_tests/test_array.py | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/django/contrib/postgres/fields/array.py b/django/contrib/postgres/fields/array.py index a76598a9bf..f867571215 100644 --- a/django/contrib/postgres/fields/array.py +++ b/django/contrib/postgres/fields/array.py @@ -70,7 +70,7 @@ class ArrayField(CheckPostgresInstalledMixin, CheckFieldDefaultMixin, Field): ) ) else: - base_checks = self.base_field.check() + base_checks = self.base_field.check(**kwargs) if base_checks: error_messages = "\n ".join( "%s (%s)" % (base_check.msg, base_check.id) diff --git a/tests/postgres_tests/test_array.py b/tests/postgres_tests/test_array.py index f35211e8ed..d4289d79df 100644 --- a/tests/postgres_tests/test_array.py +++ b/tests/postgres_tests/test_array.py @@ -841,6 +841,25 @@ class TestChecks(PostgreSQLSimpleTestCase): self.assertEqual(errors[0].id, "postgres.E001") self.assertIn("max_length", errors[0].msg) + def test_base_field_check_kwargs(self): + passed_kwargs = None + + class MyField(models.Field): + def check(self, **kwargs): + nonlocal passed_kwargs + passed_kwargs = kwargs + return [] + + class MyModel(PostgreSQLModel): + field = ArrayField(MyField()) + + self.assertEqual(MyModel.check(databases=["default"]), []) + self.assertEqual( + passed_kwargs, + {"databases": ["default"]}, + "ArrayField.check kwargs should be passed to its base_field.", + ) + def test_invalid_base_fields(self): class MyModel(PostgreSQLModel): field = ArrayField( From 3aba1fced8254435b947467739721ec6b4fb865c Mon Sep 17 00:00:00 2001 From: Simon Charette Date: Mon, 29 Sep 2025 17:47:56 -0400 Subject: [PATCH 39/44] Fixed #36663 -- Defaulted to running checks against all databases. Regression in 0b83c8cc4db95812f1e15ca19d78614e94cf38dd which added support for running checks only against databases but also defaulted to running against no databases if not specified. Note that this continues to *not* default to runing database tagged checks for all management commands except the migrate one as whether or not we should change this must be discussed further. Thanks Tim Graham for surfacing how this was a problematic default. --- django/core/checks/registry.py | 9 +++++++++ tests/check_framework/tests.py | 37 +++++++++++++++++++++++++++------- 2 files changed, 39 insertions(+), 7 deletions(-) diff --git a/django/core/checks/registry.py b/django/core/checks/registry.py index 3139fc3ef4..257dadac41 100644 --- a/django/core/checks/registry.py +++ b/django/core/checks/registry.py @@ -1,6 +1,7 @@ from collections.abc import Iterable from itertools import chain +from django.db import connections from django.utils.inspect import func_accepts_kwargs @@ -84,6 +85,14 @@ class CheckRegistry: if tags is not None: checks = [check for check in checks if not set(check.tags).isdisjoint(tags)] + elif not databases: + # By default, 'database'-tagged checks are not run if an alias + # is not explicitly specified as they do more than mere static + # code analysis. + checks = [check for check in checks if Tags.database not in check.tags] + + if databases is None: + databases = list(connections) for check in checks: new_errors = check(app_configs=app_configs, databases=databases) diff --git a/tests/check_framework/tests.py b/tests/check_framework/tests.py index c5f53c4789..138d27aafd 100644 --- a/tests/check_framework/tests.py +++ b/tests/check_framework/tests.py @@ -92,6 +92,21 @@ class SystemCheckFrameworkTests(SimpleTestCase): with self.assertRaisesMessage(TypeError, msg): registry.run_checks() + def test_run_checks_database_exclusion(self): + registry = CheckRegistry() + + database_errors = [checks.Warning("Database Check")] + + @registry.register(Tags.database) + def database_system_check(**kwargs): + return database_errors + + errors = registry.run_checks() + self.assertEqual(errors, []) + + errors = registry.run_checks(databases=["default"]) + self.assertEqual(errors, database_errors) + class MessageTests(SimpleTestCase): def test_printing(self): @@ -190,10 +205,12 @@ class CheckCommandTests(SimpleTestCase): def test_simple_call(self): call_command("check") self.assertEqual( - simple_system_check.kwargs, {"app_configs": None, "databases": None} + simple_system_check.kwargs, + {"app_configs": None, "databases": ["default", "other"]}, ) self.assertEqual( - tagged_system_check.kwargs, {"app_configs": None, "databases": None} + tagged_system_check.kwargs, + {"app_configs": None, "databases": ["default", "other"]}, ) @override_system_checks([simple_system_check, tagged_system_check]) @@ -203,11 +220,17 @@ class CheckCommandTests(SimpleTestCase): admin_config = apps.get_app_config("admin") self.assertEqual( simple_system_check.kwargs, - {"app_configs": [auth_config, admin_config], "databases": None}, + { + "app_configs": [auth_config, admin_config], + "databases": ["default", "other"], + }, ) self.assertEqual( tagged_system_check.kwargs, - {"app_configs": [auth_config, admin_config], "databases": None}, + { + "app_configs": [auth_config, admin_config], + "databases": ["default", "other"], + }, ) @override_system_checks([simple_system_check, tagged_system_check]) @@ -215,7 +238,8 @@ class CheckCommandTests(SimpleTestCase): call_command("check", tags=["simpletag"]) self.assertIsNone(simple_system_check.kwargs) self.assertEqual( - tagged_system_check.kwargs, {"app_configs": None, "databases": None} + tagged_system_check.kwargs, + {"app_configs": None, "databases": ["default", "other"]}, ) @override_system_checks([simple_system_check, tagged_system_check]) @@ -273,8 +297,7 @@ class CheckCommandTests(SimpleTestCase): with override_system_checks([database_check]): call_command("check") - database_check.assert_called_once_with(app_configs=None, databases=None) - database_check.reset_mock() + database_check.assert_not_called() call_command("check", databases=["default"]) database_check.assert_called_once_with( app_configs=None, databases=["default"] From 7e765a68598b2b798e49bf1f4b431a7bcac085a4 Mon Sep 17 00:00:00 2001 From: Kasyap Pentamaraju Date: Sat, 25 Oct 2025 19:23:40 +0530 Subject: [PATCH 40/44] Fixed #36686 -- Clarified Meta.ordering is ignored in GROUP BY queries. --- docs/ref/models/options.txt | 6 ++++++ docs/topics/db/aggregation.txt | 11 +++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/docs/ref/models/options.txt b/docs/ref/models/options.txt index 0d27830fc9..e961e9cdfb 100644 --- a/docs/ref/models/options.txt +++ b/docs/ref/models/options.txt @@ -312,6 +312,12 @@ not be looking at your Django code. For example:: ordering = [F("author").asc(nulls_last=True)] +.. admonition:: Default ordering and GROUP BY + + In :ref:`GROUP BY queries ` (for example, + those using :meth:`~.QuerySet.values` and :meth:`~.QuerySet.annotate`), the + default ordering is not applied. + .. warning:: Ordering is not a free operation. Each field you add to the ordering diff --git a/docs/topics/db/aggregation.txt b/docs/topics/db/aggregation.txt index 5383ba5687..ba797c0b68 100644 --- a/docs/topics/db/aggregation.txt +++ b/docs/topics/db/aggregation.txt @@ -627,8 +627,15 @@ fields you also select in a ``values()`` call. You might reasonably ask why Django doesn't remove the extraneous columns for you. The main reason is consistency with ``distinct()`` and other places: Django **never** removes ordering constraints that you have - specified (and we can't change those other methods' behavior, as that - would violate our :doc:`/misc/api-stability` policy). + specified *explicitly with* ``order_by()`` (and we can't change those + other methods' behavior, as that would violate our + :doc:`/misc/api-stability` policy). + +.. admonition:: Default ordering not applied to GROUP BY + + ``GROUP BY`` queries (for example, those using ``.values()`` and + ``.annotate()``) don't use the model's default ordering. + Use ``order_by()`` explicitly when a given order is needed. Aggregating annotations ----------------------- From 0eec2a163a4b2ea4e82c53ae1d7b71bf43ac911d Mon Sep 17 00:00:00 2001 From: Kasyap Pentamaraju Date: Tue, 11 Nov 2025 14:59:28 +0530 Subject: [PATCH 41/44] Fixed #36724 -- Removed invalid "for" attribute on tags. --- django/forms/boundfield.py | 4 +- tests/forms_tests/tests/test_forms.py | 60 ++++++++++++------- tests/forms_tests/tests/test_i18n.py | 4 +- .../widget_tests/test_clearablefileinput.py | 6 +- .../widget_tests/test_selectdatewidget.py | 2 +- tests/model_forms/tests.py | 6 +- tests/model_formsets/tests.py | 4 +- 7 files changed, 52 insertions(+), 34 deletions(-) diff --git a/django/forms/boundfield.py b/django/forms/boundfield.py index 97559fe286..5b8e7e5697 100644 --- a/django/forms/boundfield.py +++ b/django/forms/boundfield.py @@ -192,7 +192,9 @@ class BoundField(RenderableFieldMixin): if id_: id_for_label = widget.id_for_label(id_) if id_for_label: - attrs = {**(attrs or {}), "for": id_for_label} + attrs = attrs or {} + if tag != "legend": + attrs = {**attrs, "for": id_for_label} if self.field.required and hasattr(self.form, "required_css_class"): attrs = attrs or {} if "class" in attrs: diff --git a/tests/forms_tests/tests/test_forms.py b/tests/forms_tests/tests/test_forms.py index 5b0c4b9a04..8cc1fecf0a 100644 --- a/tests/forms_tests/tests/test_forms.py +++ b/tests/forms_tests/tests/test_forms.py @@ -3913,7 +3913,7 @@ aria-describedby="id_age_error">""", ) self.assertHTMLEqual( f["field"].legend_tag(), - 'Field:', + 'Field:', ) self.assertHTMLEqual( f["field"].label_tag(attrs={"class": "foo"}), @@ -3921,14 +3921,14 @@ aria-describedby="id_age_error">""", ) self.assertHTMLEqual( f["field"].legend_tag(attrs={"class": "foo"}), - 'Field:', + 'Field:', ) self.assertHTMLEqual( f["field2"].label_tag(), '' ) self.assertHTMLEqual( f["field2"].legend_tag(), - 'Field2:', + "Field2:", ) def test_label_split_datetime_not_displayed(self): @@ -4190,31 +4190,47 @@ aria-describedby="id_age_error">""", boundfield = SomeForm()["field"] - testcases = [ # (args, kwargs, expected) - # without anything: just print the