| Age | Commit message (Collapse) | Author |
|
DatabaseFeatures.json_key_contains_list_matching_requires_list.
CockroachDB's behavior matches PostgreSQL.
Backport of 184a6eebb0ef56d5f1b1315a8e666830e37f3f81 from master
|
|
Backport of 2d8dcba03aae200aaa103ec1e69f0a0038ec2f85 from master
|
|
__contained_by lookups on SQLite.
The current implementation works only for basic examples without
supporting nested structures and doesn't follow "the general principle
that the contained object must match the containing object as to
structure and data contents, possibly after discarding some
non-matching array elements or object key/value pairs from the
containing object".
Backport of ba691933cee375195c9c50f333dd4b2a3abbb726 from master.
|
|
Oracle.
The current implementation works only for basic examples without
supporting nested structures and doesn't follow "the general principle
that the contained object must match the containing object as to
structure and data contents, possibly after discarding some
non-matching array elements or object key/value pairs from the
containing object".
Backport of 02447fb133b53ec7d0ff068cc08f06fdf8817ef7 from master
|
|
directories without __init__.py file."
This reverts commit 3cd3bebe8921e14b911b36b2a1cbceef8fb6294e.
Backport of ff55adbd0da6618abaf265d16196bf54f81aa77a from master
|
|
for combined expressions.
Thanks Thodoris Sotiropoulos for the report and Simon Charette for the
implementation idea.
Regression in df32fd42b84cc6dbba173201f244491b0d154a63.
Backport of 8a6df55f2dd5131282084a4edfd48f63fbf8c69a from master
|
|
Backport of 615e32162ff646db3456b90fb4eaaecc33dd3e4e from master
|
|
with mixed case label.
Regression in 9e1b6b8a66af4c2197e5b1b41eb9dbb36e4f6502.
Thanks Ignacio Santolin for the report.
Backport of 62d85a283500e9abb0e1c9ec53c59be468f056a0 from master
|
|
addition on PostgreSQL.
The namespace of the constraint must be included when making the
constraint immediate.
Regression in 22ce5d0031bd795ade081394043833e82046016c.
Thanks Rodrigo Estevao for the report.
Backport of 2e8941b6f90e65ffad3f07083b8de59e8ed29767 from master
|
|
combined expressions.
Regression in df32fd42b84cc6dbba173201f244491b0d154a63.
Thanks Simon Charette for the review.
Backport of aeb8996a6706cad3e96d8221760c1cb408ee7ed9 from master
|
|
ForeignKeys.
Backport of 037a624120b676858be4b93c4d0adda45916fd2a from master
|
|
attribute as rhs in queryset filters.
Regression in 4edad1ddf6203326e0be4bdb105beecb0fe454c4.
Backport of b38d44229ff185ad156bcb443d6db0db7ae3eb98 from master
|
|
Regression in 3a941230c85b2702a5e1cd97e17251ce21057efa.
Thanks Tomasz Szymański for the report.
Backport of 78ad4b4b0201003792bfdbf1a7781cbc9ee03539 from master
|
|
invalid values.
Backport of 38a21f2d9ed4f556af934498ec6a242f6a20418a from master
|
|
wrapped expression.
Backport of df32fd42b84cc6dbba173201f244491b0d154a63 from master
|
|
Regression in c7dd8490b882b2cefdc7faf431dc64c532b79c9.
Backport of f8ef5f2c86683bef3b200fd864efc14f1fbbc23b from master
|
|
combined queryset.
Backport of 2aac176e86204785f0f2ec4838049d8fed70870e from master
|
|
creation on base fields removal.
Removing a base field must take place before adding a new inherited
model that has a field with the same name.
Backport of 33c365781abbcc1b21a31b31d95d344a174df0d5 from master
|
|
Thanks Adam Johnson for the report.
Regression in 7acef095d73322f45dcceb99afa1a4e50b520479.
Backport of 972000420e08703dd4981466ff67adcd5a61ad4b from master
|
|
Regression in 691def10a0197d83d2d108bd9043b0916d0f09b4.
Backport of a125da6a7c79b1d4c55677d0bed6f9b1d7d77353 from master
|
|
CockroachDB also has them.
Backport of f59a2b730685fc62c5cb44101f54faf8921d9bc7 from master
|
|
after Exists() annotation and aggregation on Oracle.
Oracle requires the EXISTS expression to be wrapped in a CASE WHEN in
the GROUP BY clause.
Regression in efa1908f662c19038a944129c81462485c4a9fe8.
Backport of 3a941230c85b2702a5e1cd97e17251ce21057efa from master
|
|
subqueries.
691def10a0197d83d2d108bd9043b0916d0f09b4 made all Subquery() instances
equal to each other which broke aggregation subquery pushdown which
relied on object equality to determine which alias it should select.
Subquery.__eq__() will be fixed in an another commit but
Query.rewrite_cols() should haved used object identity from the start.
Refs #30727, #30188.
Thanks Makina Corpus for the report.
Backport of adfbf653dc1c1d0e0dacc4ed46602d22ba28b004 from master
|
|
values()/values_list() after annotate() with aggregations and subqueries.
Subquery annotation references must be resolved if they are excluded
from the GROUP BY clause by a following .values() call.
Regression in fb3f034f1c63160c0ff13c609acd01c18be12f80.
Thanks Makina Corpus for the report.
Backport of 42c08ee46539ef44f8658ebb1cbefb408e0d03fe from master
|
|
The method has been available since Python 3.6. The shorter syntax is
also marginally faster.
|
|
|
|
Thanks to Adam Johnson, Carlton Gibson, Mariusz Felisiak, and Raphael
Michel for mentoring this Google Summer of Code 2019 project and
everyone else who helped with the patch.
Special thanks to Mads Jensen, Nick Pope, and Simon Charette for
extensive reviews.
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
|
|
MySQLdb.constants.FIELD_TYPE.JSON was added in mysqlclient 1.4.0rc2.
|
|
|
|
Regression in 440505cb2cadbe1a5b9fba246bcde6c04f51d07e.
Thanks Simon Meers for the report.
|
|
comments.
|
|
|
|
|
|
BooleanField(null=True).
|
|
|
|
unique_together constraint on the same fields.
|
|
using Meta.constraints.
Detection of unique fields now takes into account non-partial unique
constraints.
|
|
|
|
This allows the removal of its O(n) .get_field_by_name method and many
other awkward access patterns.
While fields were initially stored in a list to preserve the initial
model definiton field ordering the auto-detector doesn't take field
ordering into account and no operations exists to reorder fields of a
model.
This makes the preservation of the field ordering completely superflous
because field reorganization after the creation of the model state
wouldn't be taken into account.
|
|
|
|
|
|
The existing code was only accounting for primary key changes and not
all unique key fields that can be referenced.
|
|
data type change on SQLite.
Both local and remote auto-created many-to-many relationships were
affected.
|
|
|
|
|
|
objects if it's zero.
|
|
DatabaseOperations.execute_sql_flush().
|
|
ModuleNotFoundError.
Avoids inspecting the exception message, which is not considered a
stable API and can change across Python versions.
ModuleNotFoundError was introduced in Python 3.6. It is a subclass of
ImportError that is raised when the imported module does not exist. It
is not raised for other errors that can occur during an import. This
exception instance has the property "name" which holds the name of
module that failed to import.
|
|
PostgreSQL.
The sql_flush() positional argument sequences is replaced by the boolean
keyword-only argument reset_sequences. This ensures that the old
function signature can't be used by mistake when upgrading Django. When
the new argument is True, the sequences of the truncated tables will
reset. Using a single boolean value, rather than a list, allows making a
binary yes/no choice as to whether to reset all sequences rather than a
working on a completely different set.
|
|
Added early return to decrease an indentation level.
|