| Age | Commit message (Collapse) | Author |
|
|
|
django.utils.datetime_safe.time().
Unused since c72dde41e603093ab0bb12fa24fa69cfda0d35f9.
|
|
options in MySQL backend.
The 'db' and 'passwd' connection options have been deprecated, use
'database' and 'password' instead (available since mysqlclient >= 1.3.8).
This also allows the 'database' option in DATABASES['OPTIONS'] on MySQL.
|
|
- Replaced datetime.utcnow() with datetime.now().
- Replaced datetime.utcfromtimestamp() with datetime.fromtimestamp().
- Replaced datetime.utctimetuple() with datetime.timetuple().
- Replaced calendar.timegm() and datetime.utctimetuple() with datetime.timestamp().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
accepted in URLValidator on Python 3.9.5+.
In Python 3.9.5+ urllib.parse() automatically removes ASCII newlines
and tabs from URLs [1, 2]. Unfortunately it created an issue in
the URLValidator. URLValidator uses urllib.urlsplit() and
urllib.urlunsplit() for creating a URL variant with Punycode which no
longer contains newlines and tabs in Python 3.9.5+. As a consequence,
the regular expression matched the URL (without unsafe characters) and
the source value (with unsafe characters) was considered valid.
[1] https://bugs.python.org/issue43882 and
[2] https://github.com/python/cpython/commit/76cd81d60310d65d01f9d7b48a8985d8ab89c8b4
|
|
closed cursor.
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
|
|
Having lookups group by subquery right-hand-sides is likely unnecessary
in the first place but relatively large amount of work would be needed
to achieve that such as making Lookup instances proper resolvable
expressions.
Regression in 35431298226165986ad07e91f9d3aca721ff38ec.
Thanks James A. Munsch for the report.
|
|
Thanks Claude Paroz and Nick Pope for reviews.
|
|
OrderBy expressions.
Regression in c8b659430556dca0b2fe27cf2ea0f8290dbafecd.
Thanks Kevin Marsh for the report.
|
|
Thread.setDaemon() was deprecated in Python 3.10 and will be removed in
Python 3.12.
|
|
Using asyncio.get_event_loop() when there is no running event loop was
deprecated in Python 3.10, see https://bugs.python.org/issue39529.
|
|
|
|
|
|
|
|
db_table.
|
|
|
|
ExceptionReporter._get_raw_insecure_uri().
|
|
|
|
Follow up to 187118203197801c6cb72dc8b06b714b23b6dd3d.
|
|
Refs #22889.
|
|
In Query.join() the argument reuse_with_filtered_relation was used to
determine whether to use == or .equals(). As this area of code is
related to aliases, we only expect an instance of Join or BaseTable to
be provided - the only two classes that provide .equals().
In both cases, the implementations of __eq__() and equals() are based
on use of the "identity" property. __eq__() performs an isinstance()
check first, returning NotImplemented if required. BaseTable.equals()
then does a straightforward equality check on "identity". Join.equals()
is a little bit different as it skips checking the last element of the
"identity" property: filtered_relation. This was only included
previously when the with_filtered_relation argument was True, impossible
since bbf141bcdc31f1324048af9233583a523ac54c94.
|
|
Unused since bbf141bcdc31f1324048af9233583a523ac54c94.
|
|
deconstruction.
Subquery deconstruction support required implementing complex and
expensive equality rules for sql.Query objects for little benefit as
the latter cannot themselves be made deconstructible to their reference
to model classes.
Making Expression @deconstructible and not BaseExpression allows
interested parties to conform to the "expression" API even if they are
not deconstructible as it's only a requirement for expressions allowed
in Model fields and meta options (e.g. constraints, indexes).
Thanks Phillip Cutter for the report.
This also fixes a performance regression in bbf141bcdc31f1324048af9233583a523ac54c94.
|
|
in dbshell on PostgreSQL.
Regression in bbe6fbb8768e8fb1aecb96d51c049d7ceaf802d3.
|
|
preventing duplicates.
Thanks Zain Patel for the report and Simon Charette for reviews.
The exception introduced in 6307c3f1a123f5975c73b231e8ac4f115fd72c0d
revealed a possible data loss issue in the admin.
|
|
QuerySet.distinct() is not the only way to avoid duplicate, it's also
not preferred.
|
|
self-referential subqueries on MySQL.
|
|
URL is resolved.
Follow up to 3b8527e32b665df91622649550813bb1ec9a9251.
|
|
RunSQL.
|
|
Regression in 84609b3205905097d7d3038d32e6101f012c0619.
|
|
Follow up to 170b006ce82b0ecf26dc088f832538b747ca0115.
|
|
PostgreSQL.
Regression in 3a505c70e7b228bf1212c067a8f38271ca86ce09.
Nonlitteral right-hand-sides of lookups need to be wrapped in
parentheses to avoid operator precedence ambiguities.
Thanks Charles Lirsac for the detailed report.
|
|
This also renames the `asc` variable to `default_order`, markes the
`desc` variable as unused, fixes a typo in SQLCompiler.get_order_by()
docstring, and reorders some blocks in SQLCompiler._order_by_pairs().
|
|
This issue started manifesting itself when nesting a combined subquery
relying on exclude() since 8593e162c9cb63a6c0b06daf045bc1c21eb4d7c1 but
sql.Query.combine never properly handled subqueries outer refs in the
first place, see QuerySetBitwiseOperationTests.test_subquery_aliases()
(refs #27149).
Thanks Raffaele Salmaso for the report.
|
|
list of 2-tuples.
Thanks Jared Lockhart for the report.
Regression in c36075ac1dddfa986340b1a5e15fe48833322372.
|
|
changelist.
Regression in 30e59705fc3e3e9e8370b965af794ad6173bf92b.
|
|
scalar values on SQLite.
|
|
|
|
Unnecessary since 7286eaf681d497167cd7dc8b70ceebfcf5cd21ad.
|
|
Django apps initialization to run management command triggers the admin
autodiscovery. Importing django.contrib.auth.tokens creates an instance
of PasswordResetTokenGenerator which required a SECRET_KEY.
For several management commands, the token generator is unused. It
should only complain about a missing SECRET_KEY when it is used.
|
|
Thanks Simon Charette and Markus Holtermann for reviews.
|
|
MigrationAutodetector._detect_changes().
|
|
|
|
Thanks Chris Jerdonek for reviews.
|