summaryrefslogtreecommitdiff
path: root/django/db
AgeCommit message (Collapse)Author
2020-07-30[3.1.x] Refs #31829 -- Added ↵Tim Graham
DatabaseFeatures.json_key_contains_list_matching_requires_list. CockroachDB's behavior matches PostgreSQL. Backport of 184a6eebb0ef56d5f1b1315a8e666830e37f3f81 from master
2020-07-28[3.1.x] Fixed #31829 -- Used JSONField __contains lookup on key transforms.sage
Backport of 2d8dcba03aae200aaa103ec1e69f0a0038ec2f85 from master
2020-07-28[3.1.x] Fixed #31836 -- Dropped support for JSONField __contains and ↵Mariusz Felisiak
__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.
2020-07-28[3.1.x] Fixed #31835 -- Dropped support for JSONField __contains lookup on ↵Mariusz Felisiak
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
2020-07-22[3.1.x] Reverted "Fixed #30300 -- Allowed migrations to be loaded from ↵Tim Graham
directories without __init__.py file." This reverts commit 3cd3bebe8921e14b911b36b2a1cbceef8fb6294e. Backport of ff55adbd0da6618abaf265d16196bf54f81aa77a from master
2020-07-09[3.1.x] Fixed #31773 -- Fixed preserving output_field in ExpressionWrapper ↵Mariusz Felisiak
for combined expressions. Thanks Thodoris Sotiropoulos for the report and Simon Charette for the implementation idea. Regression in df32fd42b84cc6dbba173201f244491b0d154a63. Backport of 8a6df55f2dd5131282084a4edfd48f63fbf8c69a from master
2020-06-30[3.1.x] Fixed #31751 -- Fixed database introspection with cx_Oracle 8.Mariusz Felisiak
Backport of 615e32162ff646db3456b90fb4eaaecc33dd3e4e from master
2020-06-26[3.1.x] Fixed #31742 -- Fixed makemigrations crash on ForeignKey to an app ↵Mariusz Felisiak
with mixed case label. Regression in 9e1b6b8a66af4c2197e5b1b41eb9dbb36e4f6502. Thanks Ignacio Santolin for the report. Backport of 62d85a283500e9abb0e1c9ec53c59be468f056a0 from master
2020-06-24[3.1.x] Fixed #31735 -- Fixed migrations crash on namespaced inline FK ↵Simon Charette
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
2020-06-12[3.1.x] Fixed #31659 -- Made ExpressionWrapper preserve output_field for ↵Mariusz Felisiak
combined expressions. Regression in df32fd42b84cc6dbba173201f244491b0d154a63. Thanks Simon Charette for the review. Backport of aeb8996a6706cad3e96d8221760c1cb408ee7ed9 from master
2020-06-10[3.1.x] Fixed #31657 -- Fixed ordering by attnames of self-referential ↵Hasan Ramezani
ForeignKeys. Backport of 037a624120b676858be4b93c4d0adda45916fd2a from master
2020-06-08[3.1.x] Fixed #31664 -- Reallowed using non-expressions having filterable ↵Nicolas Baccelli
attribute as rhs in queryset filters. Regression in 4edad1ddf6203326e0be4bdb105beecb0fe454c4. Backport of b38d44229ff185ad156bcb443d6db0db7ae3eb98 from master
2020-06-08[3.1.x] Fixed #31660 -- Fixed queryset crash when grouping by m2o relation.Mariusz Felisiak
Regression in 3a941230c85b2702a5e1cd97e17251ce21057efa. Thanks Tomasz Szymański for the report. Backport of 78ad4b4b0201003792bfdbf1a7781cbc9ee03539 from master
2020-06-05[3.1.x] Fixed #31663 -- Made DecimalField.to_python() handle non-numeric ↵Sasha Pachev
invalid values. Backport of 38a21f2d9ed4f556af934498ec6a242f6a20418a from master
2020-06-03[3.1.x] Fixed #31651 -- Made ExpressionWrapper use grouping columns from ↵Thodoris Sotiropoulos
wrapped expression. Backport of df32fd42b84cc6dbba173201f244491b0d154a63 from master
2020-05-29[3.1.x] Refs #21171 -- Made Collector.delete() rollback in the correct database.Simon Charette
Regression in c7dd8490b882b2cefdc7faf431dc64c532b79c9. Backport of f8ef5f2c86683bef3b200fd864efc14f1fbbc23b from master
2020-05-26[3.1.x] Fixed #31614 -- Fixed aliases ordering by OrderBy() expressions of ↵Laurent Tramoy
combined queryset. Backport of 2aac176e86204785f0f2ec4838049d8fed70870e from master
2020-05-26[3.1.x] Fixed #31416 -- Made autodetector find dependencies for MTI model ↵Nan Liu
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
2020-05-25[3.1.x] Fixed #31624 -- Avoided subquery usage on QuerySet.all().delete().Simon Charette
Thanks Adam Johnson for the report. Regression in 7acef095d73322f45dcceb99afa1a4e50b520479. Backport of 972000420e08703dd4981466ff67adcd5a61ad4b from master
2020-05-19[3.1.x] Fixed #31607 -- Fixed evaluated Subquery equality.Mariusz Felisiak
Regression in 691def10a0197d83d2d108bd9043b0916d0f09b4. Backport of a125da6a7c79b1d4c55677d0bed6f9b1d7d77353 from master
2020-05-18[3.1.x] Refs #12990 -- Added DatabaseFeatures.has_json_operators.Tim Graham
CockroachDB also has them. Backport of f59a2b730685fc62c5cb44101f54faf8921d9bc7 from master
2020-05-14[3.1.x] Fixed #31584 -- Fixed crash when chaining values()/values_list() ↵Mariusz Felisiak
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
2020-05-14[3.1.x] Fixed #31568 -- Fixed alias reference when aggregating over multiple ↵Simon Charette
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
2020-05-14[3.1.x] Fixed #31566 -- Fixed aliases crash when chaining ↵Simon Charette
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
2020-05-11Refs #30116 -- Simplified regex match group access with Match.__getitem__().Jon Dufresne
The method has been available since Python 3.6. The shorter syntax is also marginally faster.
2020-05-11Optimized Model and QuerySet pickling version comparison.Adam Johnson
2020-05-08Fixed #12990, Refs #27694 -- Added JSONField model field.sage
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>
2020-05-08Refs #12990 -- Bumped mysqlclient requirement to >= 1.4.0.Mariusz Felisiak
MySQLdb.constants.FIELD_TYPE.JSON was added in mysqlclient 1.4.0rc2.
2020-05-06Fixed a/an typos in "SQL" usage.Adam Johnson
2020-05-05Fixed #31538 -- Fixed Meta.ordering validation lookups that are not transforms.Mariusz Felisiak
Regression in 440505cb2cadbe1a5b9fba246bcde6c04f51d07e. Thanks Simon Meers for the report.
2020-05-04Refs #30573 -- Rephrased "Of Course" and "Obvious(ly)" in documentation and ↵Adam Johnson
comments.
2020-04-30Fixed #20581 -- Added support for deferrable unique constraints.Ian Foote
2020-04-27Removed unnecessary tuple wrapping of single format string argument.François Freitag
2020-04-24Refs #31369 -- Deprecated models.NullBooleanField in favor of ↵Tim Schilling
BooleanField(null=True).
2020-04-24Refs #30913 -- Added BaseDatabaseSchemaEditor._index_condition_sql().Hannes Ljungberg
2020-04-23Fixed #29224 -- Fixed removing index_together indexes if exists ↵David Wobrock
unique_together constraint on the same fields.
2020-04-23Fixed #31500 -- Fixed detecting of unique fields in QuerySet.in_bulk() when ↵Hannes Ljungberg
using Meta.constraints. Detection of unique fields now takes into account non-partial unique constraints.
2020-04-22Avoided unnecessary recompilation of ordering clause regex in SQLCompiler.Adam Johnson
2020-04-22Fixed #31499 -- Stored ModelState.fields into a dict.Simon Charette
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.
2020-04-22Refs #31499 -- Ignored field ordering to determine ModelState equality.Simon Charette
2020-04-21Fixed #31479 -- Added support to reset sequences on SQLite.Jon Dufresne
2020-04-21Refs #30591 -- Adjusted table rebuild for non-pk relationship on SQLite.Simon Charette
The existing code was only accounting for primary key changes and not all unique key fields that can be referenced.
2020-04-21Fixed #31064 -- Recreated auto-created many-to-many tables on primary key ↵Simon Charette
data type change on SQLite. Both local and remote auto-created many-to-many relationships were affected.
2020-04-20Stopped rebuilding referenced tables multiple times on SQLite alterations.Simon Charette
2020-04-20Capitalized Unicode in docs, strings, and comments.Jon Dufresne
2020-04-20Fixed #31474 -- Made QuerySet.delete() not return the number of deleted ↵Hasan Ramezani
objects if it's zero.
2020-04-20Fixed #31477 -- Removed "using" argument from ↵Jon Dufresne
DatabaseOperations.execute_sql_flush().
2020-04-20Fixed #24559 -- Made MigrationLoader.load_disk() catch more specific ↵Jon Dufresne
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.
2020-04-17Fixed #31473 -- Made sql_flush() use RESTART IDENTITY to reset sequences on ↵Jon Dufresne
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.
2020-04-17Simplified DatabaseOperations.sql_flush() on Oracle and PostgreSQL.Jon Dufresne
Added early return to decrease an indentation level.