| Age | Commit message (Collapse) | Author |
|
This also fixes related i18n tests.
Forwardport of a3bab9332416f655c6ae0fa306c94f7f52e7398d from stable/4.1.x.
Co-authored-by: Claude Paroz <claude@2xlibre.net>
|
|
|
|
Matches CharField.db_collation docs.
Thanks to Paolo Melchiorre for the report.
|
|
ArrayField(Char/TextFields).
|
|
template.
Thanks to Claude Paroz for the report.
|
|
|
|
|
|
blame.
|
|
|
|
|
|
|
|
|
|
The utf8_ collations are renamed to utf8mb3_* on MySQL 8.0.30+.
|
|
Node.create() which has a compatible signature with Node.__init__()
takes in a single `children` argument rather than relying in unpacking
*args in Q.__init__() which calls Node.__init__().
In addition, we were often needing to unpack iterables into *args and
can instead pass a list direct to Node.create().
|
|
- Removed use of Q.deconstruct() in Q._combine().
- Simplified and optimized Q.__invert__() by taking a shallow copy and
swapping the negated attribute only.
- Simplified construction in Q._combine().
- Simplified conditions in Q._combine() as Q.conditional = True the
first isinstance() check is unnecessary.
- Removed copy.copy() branch in Q._combine().
Co-authored-by: Keryn Knight <keryn@kerynknight.com>
|
|
This allows the copy.copy() usage in the Q._combine() method to finish
sooner, instead of having to fallback to using the __reduce_ex__(4)
method.
Thia also avoids having to fall into copy.copy() at in Q._combine(),
when combining a Q() with another Q().
Co-authored-by: Keryn Knight <keryn@kerynknight.com>
|
|
We can use copy() in Node.add() instead of create() as we don't need the
children to be cloned via [:] subscript in __init__().
|
|
Node._new_instance() was added in
6dd2b5468fa275d53aa60fdcaff8c28bdc5e9c25 to work around Q.__init__()
having an incompatible signature with Node.__init__().
It was intended as a hook that could be overridden if subclasses needed
to change the behaviour of instantiation of their specialised form of
Node. In practice this doesn't ever seem to have been used for this
purpose and there are very few calls to Node._new_instance() with other
code, e.g. Node.__deepcopy__() calling Node and overriding __class__ as
required.
Rename this to Node.create() to make it a more "official" piece of
private API that we can use to simplify a lot of other areas internally.
The docstring and nearby comment have been reworded to read more
clearly.
|
|
|
|
|
|
The tests for creating new instances or copying instances of Node and
its subclasses didn't fully capture the behaviour of the implementation,
particularly around whether the `children` list or is contents were the
same as the source.
|
|
Node.subtree_parents was removed in
d3f00bd5706b35961390d3814dd7e322ead3a9a3. That commit also added
Q.clone() which was identical to WhereNode.clone(), but lacked the
docstring. Q.clone() was later removed in
b454e2cbc95eb26fa0c32b54c53ae24fc40e8c02.
|
|
|
|
transforms on SQLite.
Thanks Johnny Metz for the report.
Regression in 71ec102b01fcc85acae3819426a4e02ef423b0fa.
|
|
supported for Django 4.2+ migration files.
|
|
DeprecationForHistoricalMigrationMixin."
This reverts commit 57793b47657ace966ce8ce96d801ac0d85e5efc6.
|
|
the deprecation of migration operations."
This reverts commit 41019e48bbf082c985e6ba3bad34d118b903bff1.
|
|
This partly reverts a6385b382e05a614a99e5a5913d8e631823159a2.
|
|
|
|
|
|
- Using the {% plural %} tag.
- Using the |yesno filter.
- Using the |unordered_list filter.
- Unnesting {% if %} where not required.
- Not duplicating {% if %}.
|
|
- Prefer use of `k` and `v` instead of `var.0` and `var.1`.
- Fixed indentation of #files-info block to match adjacent blocks.
|
|
translations.
Co-authored-by: Carlos Mermingas <cmermingas@gmail.com>
|
|
Commit 901c3708fb8a2e51bddd37358f8e536282a8c266 documented that the
return dict could directly include command modules instead of name
strings, which was true at the time. However, that possibility was
removed in commit 38f1fe3b35c212136d959538a309c33bf2d340a9.
|
|
|
|
SHA1PasswordHasher, UnsaltedSHA1PasswordHasher, and UnsaltedMD5PasswordHasher
are now deprecated.
|
|
|
|
|
|
|
|
|
|
This should make it more straightforward to move forward when
deprecation ends.
|
|
Default adapters/converters were deprecated in Python 3.12,
see https://github.com/python/cpython/issues/90016.
|
|
Co-authored-by: Leonid Podriz <leonidpodriz@pm.me>
|
|
initialization.
Regression in 3b3f38b3b09b0f2373e51406ecb8c9c45d36aebc.
|
|
|
|
|
|
Thanks Tom Carrick and Thibaud Colas for reviews.
|
|
|
|
|
|
|