mirror of
https://github.com/django/django.git
synced 2025-01-28 02:59:58 +00:00
ffff17d4b0
Proper escaping of % in string literals used when defining constaints was attempted (a8b3f96f6) by overriding quote_value of Postgres and Oracle schema editor. The same approach was used when adding support for constraints to the MySQL/MariaDB backend (1fc2c70). Later on it was discovered that this approach was not appropriate and that a preferable one was to pass params=None when executing the constraint creation DDL to avoid any form of interpolation in the first place (42e8cf47). When the second patch was applied the corrective of the first were not removed which caused % literals to be unnecessary doubled. This flew under the radar because the existings test were crafted in a way that consecutive %% didn't catch regressions. This commit introduces an extra test for __exact lookups which highlights more adequately % doubling problems but also adjust a previous __endswith test to cover % doubling problems (%\% -> %%\%%). Thanks Thomas Kolar for the report. Refs #32369, #30408, #30593.
To run the test suite, first, create and activate a virtual environment. Then install some requirements and run the tests:: $ cd tests $ python -m pip install -e .. $ python -m pip install -r requirements/py3.txt $ ./runtests.py For more information about the test suite, see https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/.