diff --git a/.github/workflows/postgis.yml b/.github/workflows/postgis.yml index 1df146cd3e50..7976fdc03d78 100644 --- a/.github/workflows/postgis.yml +++ b/.github/workflows/postgis.yml @@ -59,7 +59,7 @@ jobs: run: | PGPASSWORD=$POSTGRES_PASSWORD psql -U $POSTGRES_USER -d $POSTGRES_DB -h localhost -c "SELECT PostGIS_full_version();" - name: Install and upgrade packaging tools - run: python -m pip install --upgrade pip setuptools wheel + run: python -m pip install --upgrade pip wheel - run: python -m pip install -r tests/requirements/py3.txt -r tests/requirements/postgres.txt -e . - name: Create PostgreSQL settings file run: mv ./.github/workflows/data/test_postgis.py.tpl ./tests/test_postgis.py diff --git a/.github/workflows/python_matrix.yml b/.github/workflows/python_matrix.yml index 072bf1cdbc8c..bbdb4458b4b6 100644 --- a/.github/workflows/python_matrix.yml +++ b/.github/workflows/python_matrix.yml @@ -46,7 +46,7 @@ jobs: - name: Install libmemcached-dev for pylibmc run: sudo apt-get install libmemcached-dev - name: Install and upgrade packaging tools - run: python -m pip install --upgrade pip setuptools wheel + run: python -m pip install --upgrade pip wheel - run: python -m pip install -r tests/requirements/py3.txt -e . - name: Run tests run: python -Wall tests/runtests.py -v2 diff --git a/.github/workflows/schedule_tests.yml b/.github/workflows/schedule_tests.yml index c4d559ec95c6..6ac72e24bbe8 100644 --- a/.github/workflows/schedule_tests.yml +++ b/.github/workflows/schedule_tests.yml @@ -31,7 +31,7 @@ jobs: cache: 'pip' cache-dependency-path: 'tests/requirements/py3.txt' - name: Install and upgrade packaging tools - run: python -m pip install --upgrade pip setuptools wheel + run: python -m pip install --upgrade pip wheel - run: python -m pip install -r tests/requirements/py3.txt -e . - name: Run tests run: python -Wall tests/runtests.py -v2 @@ -50,7 +50,7 @@ jobs: - name: Install libmemcached-dev for pylibmc run: sudo apt-get install libmemcached-dev - name: Install and upgrade packaging tools - run: python -m pip install --upgrade pip setuptools wheel + run: python -m pip install --upgrade pip wheel - run: python -m pip install . - name: Prepare site-packages run: | @@ -92,7 +92,7 @@ jobs: - name: Install libmemcached-dev for pylibmc run: sudo apt-get install libmemcached-dev - name: Install and upgrade packaging tools - run: python -m pip install --upgrade pip setuptools wheel + run: python -m pip install --upgrade pip wheel - run: python -m pip install -r tests/requirements/py3.txt -e . - name: Run Selenium tests working-directory: ./tests/ @@ -128,7 +128,7 @@ jobs: - name: Install libmemcached-dev for pylibmc run: sudo apt-get install libmemcached-dev - name: Install and upgrade packaging tools - run: python -m pip install --upgrade pip setuptools wheel + run: python -m pip install --upgrade pip wheel - run: python -m pip install -r tests/requirements/py3.txt -r tests/requirements/postgres.txt -e . - name: Create PostgreSQL settings file run: mv ./.github/workflows/data/test_postgres.py.tpl ./tests/test_postgres.py @@ -173,7 +173,7 @@ jobs: - name: Install libmemcached-dev for pylibmc run: sudo apt-get install libmemcached-dev - name: Install and upgrade packaging tools - run: python -m pip install --upgrade pip setuptools wheel + run: python -m pip install --upgrade pip wheel - run: python -m pip install -r tests/requirements/py3.txt -r tests/requirements/postgres.txt -e . - name: Create PostgreSQL settings file run: mv ./.github/workflows/data/test_postgres.py.tpl ./tests/test_postgres.py diff --git a/.github/workflows/screenshots.yml b/.github/workflows/screenshots.yml index c7012366303c..c29cfc9eedf5 100644 --- a/.github/workflows/screenshots.yml +++ b/.github/workflows/screenshots.yml @@ -28,7 +28,7 @@ jobs: cache: 'pip' cache-dependency-path: 'tests/requirements/py3.txt' - name: Install and upgrade packaging tools - run: python -m pip install --upgrade pip setuptools wheel + run: python -m pip install --upgrade pip wheel - run: python -m pip install -r tests/requirements/py3.txt -e . - name: Run Selenium tests with screenshots diff --git a/.github/workflows/selenium.yml b/.github/workflows/selenium.yml index 9cb71c914335..c5e22d70c320 100644 --- a/.github/workflows/selenium.yml +++ b/.github/workflows/selenium.yml @@ -30,7 +30,7 @@ jobs: - name: Install libmemcached-dev for pylibmc run: sudo apt-get install libmemcached-dev - name: Install and upgrade packaging tools - run: python -m pip install --upgrade pip setuptools wheel + run: python -m pip install --upgrade pip wheel - run: python -m pip install -r tests/requirements/py3.txt -e . - name: Run Selenium tests working-directory: ./tests/ @@ -67,7 +67,7 @@ jobs: - name: Install libmemcached-dev for pylibmc run: sudo apt-get install libmemcached-dev - name: Install and upgrade packaging tools - run: python -m pip install --upgrade pip setuptools wheel + run: python -m pip install --upgrade pip wheel - run: python -m pip install -r tests/requirements/py3.txt -r tests/requirements/postgres.txt -e . - name: Create PostgreSQL settings file run: mv ./.github/workflows/data/test_postgres.py.tpl ./tests/test_postgres.py diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d293f4dd0a12..eb0966e7a278 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -35,7 +35,7 @@ jobs: cache: 'pip' cache-dependency-path: 'tests/requirements/py3.txt' - name: Install and upgrade packaging tools - run: python -m pip install --upgrade pip setuptools wheel + run: python -m pip install --upgrade pip wheel - run: python -m pip install -r tests/requirements/py3.txt -e . - name: Run tests run: python -Wall tests/runtests.py -v2 diff --git a/django/contrib/auth/forms.py b/django/contrib/auth/forms.py index 2214e134d092..aff0cca342aa 100644 --- a/django/contrib/auth/forms.py +++ b/django/contrib/auth/forms.py @@ -134,6 +134,9 @@ def set_password_and_save(self, user, password_field_name="password1", commit=Tr user.save() return user + def __class_getitem__(cls, *args, **kwargs): + return cls + class SetUnusablePasswordMixin: """ diff --git a/django/db/models/base.py b/django/db/models/base.py index d1321d654088..fd51052d0199 100644 --- a/django/db/models/base.py +++ b/django/db/models/base.py @@ -1182,8 +1182,9 @@ def _do_update( returning_fields, ): """ - Try to update the model. Return True if the model was updated (if an - update query was done and a matching row was found in the DB). + Try to update the model. Return a list of updated fields if the model + was updated (if an update query was done and a matching row was + found in the DB). """ filtered = base_qs.filter(pk=pk_val) if not values: diff --git a/docs/internals/contributing/writing-code/unit-tests.txt b/docs/internals/contributing/writing-code/unit-tests.txt index b4bc429af5fe..974b4861d5e9 100644 --- a/docs/internals/contributing/writing-code/unit-tests.txt +++ b/docs/internals/contributing/writing-code/unit-tests.txt @@ -325,7 +325,6 @@ dependencies: * :pypi:`PyYAML` 6.0.2+ * :pypi:`pywatchman` * :pypi:`redis` 5.1.0+ -* :pypi:`setuptools` * :pypi:`pymemcache`, plus a `supported Python binding `_ * `gettext `_ diff --git a/docs/internals/howto-release-django.txt b/docs/internals/howto-release-django.txt index a76651934a17..4a8dd6483c72 100644 --- a/docs/internals/howto-release-django.txt +++ b/docs/internals/howto-release-django.txt @@ -604,8 +604,7 @@ Now you're ready to actually put the release out there. To do this: __ https://djangoci.com/job/confirm-release/ -#. Upload the release packages to PyPI (for pre-releases, only upload the wheel - file): +#. Upload the release packages to PyPI: .. code-block:: shell diff --git a/tests/auth_tests/test_forms.py b/tests/auth_tests/test_forms.py index be55c4369bc1..73065adddf40 100644 --- a/tests/auth_tests/test_forms.py +++ b/tests/auth_tests/test_forms.py @@ -350,6 +350,9 @@ def test_html_autocomplete_attributes(self): form.fields[field_name].widget.attrs["autocomplete"], autocomplete ) + def test_user_creation_form_class_getitem(self): + self.assertIs(BaseUserCreationForm["MyCustomUser"], BaseUserCreationForm) + class CustomUserCreationFormTest(TestDataMixin, TestCase):