summaryrefslogtreecommitdiff
path: root/django/db
AgeCommit message (Collapse)Author
2023-12-03[5.0.x] Fixed #35002 -- Made UniqueConstraints with fields respect ↵Peter Thomassen
nulls_distinct. Regression in 595a2abb58e04caa4d55fb2589bb80fb2a8fdfa1. Backport of 54cb1a7e160089cea438f50fdb70aaaf6823786e from main
2023-11-30[5.0.x] Fixed #35006 -- Fixed migrations crash when altering ↵Mariusz Felisiak
Meta.db_table_comment on SQLite. Thanks Юрий for the report. Regression in 78f163a4fb3937aca2e71786fbdd51a0ef39629e. Backport of 37fc832a54ad37e75a898a2c8f9ab0820617c4af from main
2023-11-27[5.0.x] Fixed #34992 -- Fixed DatabaseFeatures.allows_group_by_selected_pks ↵Nathaniel Conroy
on MariaDB with ONLY_FULL_GROUP_BY sql mode. Regression in 041551d716b69ee7c81199eee86a2d10a72e15ab. Backport of 0257426fe1fe9d146fd5813f09d909917ff59360 from main
2023-11-23[5.0.x] Fixed #34987 -- Fixed queryset crash when mixing aggregate and ↵Simon Charette
window annotations. Regression in f387d024fc75569d2a4a338bfda76cc2f328f627. Just like `OrderByList` the `ExpressionList` expression used to wrap `Window.partition_by` must implement `get_group_by_cols` to ensure the necessary grouping when mixing window expressions with aggregate annotations is performed against the partition members and not the partition expression itself. This is necessary because while `partition_by` is implemented as a source expression of `Window` it's actually a fragment of the WINDOW expression at the SQL level and thus it should result in a group by its members and not the sum of them. Thanks ElRoberto538 for the report. Backport of e76cc93b0168fa3abbafb9af1ab4535814b751f0 from main
2023-11-22[5.0.x] Fixed #34985 -- Fixed GeneratedFields.contribute_to_class() crash ↵Mariusz Felisiak
when apps are not populated. Thanks Paolo Melchiorre for the report. Regression in f333e3513e8bdf5ffeb6eeb63021c230082e6f95. Backport of 101a85a5a06585ba16ecb25860146d034a8a55ec from main
2023-11-22[5.0.x] Fixed #34984 -- Skipped GeneratedFields when remaking tables on SQLite.Sarah Boyce
Regression in f333e3513e8bdf5ffeb6eeb63021c230082e6f95.t Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com> Co-authored-by: David Sanders <shang.xiao.sanders@gmail.com> Backport of 828082dad954e87d09a99b53424e6faa1860ccc7 from main
2023-11-18[5.0.x] Fixed #34975 -- Fixed crash of conditional aggregate() over ↵Simon Charette
aggregations. Adjustments made to solve_lookup_type to defer the resolving of references for summarized aggregates failed to account for similar requirements for lookup values which can also reference annotations through Aggregate.filter. Regression in b181cae2e3697b2e53b5b67ac67e59f3b05a6f0d. Refs #25307. Thanks Sergey Nesterenko for the report. Backport of 7530cf3900ab98104edcde69e8a2a415e82b345a from main
2023-11-14[5.0.x] Refs #34944 -- Propagated system checks for GeneratedField.output_field.Mariusz Felisiak
Backport of c705625ebff0141ed2b95dd3c8174bda8270a47f from main
2023-11-14[5.0.x] Fixed #34944 -- Made GeneratedField.output_field required.Mariusz Felisiak
Regression in f333e3513e8bdf5ffeb6eeb63021c230082e6f95. Backport of 5875f03ce61b85dfd9ad34f7b871c231c358d432 from main
2023-11-14[5.0.x] Reverted "Refs #30446, Refs #34944 -- Fixed crash when adding ↵Mariusz Felisiak
GeneratedField with string Value()." This reverts commit 8b1acc0440418ac8f45ba48e2dfcf5126c83341b. Backport of de4884b114534f43c49cf8c5b7f10181e737f4e9 from main
2023-11-08[5.0.x] Refs #30446, Refs #34944 -- Fixed crash when adding GeneratedField ↵Simon Charette
with string Value(). This should allow smarter output_field inferring in functions dealing with text expressions. Regression in f333e3513e8bdf5ffeb6eeb63021c230082e6f95. Backport of 8b1acc0440418ac8f45ba48e2dfcf5126c83341b from main
2023-11-07[5.0.x] Fixed #34946 -- Preserved db_default on combined default field addition.Simon Charette
Regression in 7414704e88d73dafbcfbb85f9bc54cb6111439d3. Backport of 8a28e983df091d94eaba77cb82fbe3ef60a80799 from main
2023-11-03[5.0.x] Fixed #34941 -- Fixed fetching decimal db_defaults for DecimalFields ↵Mariusz Felisiak
on Oracle. This is a long standing bug in bc91f27a86090b4c688b56cd4e37f95eebe6e969 that began manifesting in 7414704e88d73dafbcfbb85f9bc54cb6111439d3. Backport of 656192c2c96bb955a399d92f381e38fe2254fe17 from main
2023-11-03[5.0.x] Refs #34941 -- Skipped ↵Mariusz Felisiak
OperationTests.test_alter_field_change_nullable_to_decimal_database_default_not_null on Oracle. Backport of 7a09ba0962e0eaf4ad396475b392ba3234bf60ee from main
2023-11-02[5.0.x] Fixed #34936 -- Fixed migration crash for DecimalField with ↵David Sanders
db_default on SQLite. CAST() must be wrapped in parentheses to be recognized as an expression on SQLite. Regression in 7414704e88d73dafbcfbb85f9bc54cb6111439d3. Backport of 797957fb48f63760442d3d4c8985fd94f8602d5e from main
2023-11-02[5.0.x] Refs #31300 -- Allowed testing GeneratedField without collation.Tim Graham
CockroachDB and Snowflake don't support it. Backport of 208870b6122c4cbc39c3b2432e13db54c920db51 from main
2023-10-30[5.0.x] Fixed #34932 -- Restored varchar_pattern_ops/text_pattern_ops index ↵Tom Carrick
creation when deterministic collaction is set. Regression in f3f9d03edf17ccfa17263c7efa0b1350d1ac9278 (4.2) and 8ed25d65ea7546fafd808086fa07e7e5bb5428fc (5.0). Backport of 34b411762b50883d768d7b67e0a158ec39da8b09 from main
2023-10-23[5.0.x] Fixed #34899 -- Added blank choice to forms' callable choices lazily.Nick Pope
Backport of 171f91d9ef5177850c2f12b26dd732785f6ac034 from main
2023-10-23[5.0.x] Refs #34899 -- Extracted Field.flatchoices to flatten_choices helper ↵Nick Pope
function. Co-authored-by: Natalia Bidart <124304+nessita@users.noreply.github.com> Backport of 74afcee234f8be989623ccc7c28b9fb97fb548f0 from main
2023-10-22[5.0.x] Fixed #34921 -- Fixed crash of warning for unbound naive datetimes.David Sanders
Backport of b5311ee23219cfb676e2e67667ecba1e5d363aa0 from main
2023-10-16[5.0.x] Fixed #34798 -- Fixed QuerySet.aggregate() crash when referencing ↵Simon Charette
expressions containing subqueries. Regression in 59bea9efd2768102fc9d3aedda469502c218e9b7, complements e5c844d6f2a4ac6ae674d741b5f1fa2a688cedf4. Refs #28477, #34551. Thanks Haldun Komsuoglu for the report. Backport of 3b4a571275d967512866012955eb0b3ae486d63c from main
2023-10-06[5.0.x] Fixed #34889 -- Fixed get_prefetch_queryset() fallback in ↵Mariusz Felisiak
prefetch_one_level(). Thanks Matt Westcott for the report. Regression in cac94dd8aa2fb49cd2e06b5b37cf039257284bb0. Backport of 296b75a3c0309a936a6c07d8f711f722e3b96e63 from main
2023-10-04[5.0.x] Refs #33482 -- Fixed QuerySet selecting and filtering againts ↵Simon Charette
Exists() with empty queryset. Thanks Tobias Bengfort for the report. Backport of ea596a52d9f905596cc5335930c8f2ac4511204c from main
2023-09-28[5.0.x] Fixed #34877 -- Fixed migrations crash when adding GeneratedField ↵Paolo Melchiorre
with output_field with params. Backport of e7e8eb44a30bcab004a582760752b5eb3fcd6e91 from main
2023-09-25[5.0.x] Fixed #34849 -- Avoided raising RuntimeWarning about import-time ↵David Sanders
queries when apps are reinitialized with test tools. Regression in fbd16438f46bc2128926958ad24331da5d1b406f. Backport of 4f2ae0644de34791b84b7beb11a966ce4bc48fb6 from main
2023-09-22[5.0.x] Fixed #34861 -- Fixed crash when adding GeneratedField with some ↵Paolo Melchiorre
expressions. Co-authored-by: Simon Charette <charette.s@gmail.com> Backport of 574ee4023e15cfb195833edfbaed353f8021c62f from main
2023-09-22[5.0.x] Fixed #34858 -- Corrected resolving output_field for ↵toan
PositiveIntegerField. Regression in 40b8a6174f001a310aa33f7880db0efeeb04d4c4. Backport of 4de31ec680df062e5964b630f1b881ead5004e15 from main
2023-09-22[5.0.x] Fixed #34840 -- Avoided casting string base fields on PostgreSQL.Mariusz Felisiak
Thanks Alex Vandiver for the report. Regression in 09ffc5c1212d4ced58b708cbbf3dfbfb77b782ca. Backport of 779cd28acb1f7eb06f629c0ea4ded99b5ebb670a from main.
2023-09-18Fixed #33651 -- Added support for prefetching GenericForeignKey.Clément Escolano
Co-authored-by: revanthgss <revanthgss@almabase.com> Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2023-09-16Fixed #34842 -- Fixed ModelAdmin.readonly_fields crash with GeneratedFields.Paolo Melchiorre
2023-09-14Fixed #34838 -- Corrected output_field of resolved columns for GeneratedFields.Paolo Melchiorre
Thanks Simon Charette for the implementation idea.
2023-09-14Fixed #24561 -- Added support for callables on model fields' choices.Natalia
2023-09-13Fixed #34822 -- Added support for serializing functions decorated with ↵Nick Pope
functools.lru_cache in migrations. `@functools.cache` and `@functools.lru_cache` return an object of type `functools._lru_cache_wrapper` which prevented the migrations serializer from working. Simply using the existing `FunctionTypeSerializer` for this additional type works as expected.
2023-09-13Modernized enumeration helpers on Python 3.11+.Nick Pope
- use @enum.property https://docs.python.org/3/library/enum.html#enum.property - use @enum.nonmember Using @property on an enum class does not yield the expected result. do_not_call_in_templates attribute works because a @property instance is truthy. We can make this a literal True value as expected by using @enum.nonmember in Python 3.11+. https://docs.python.org/3/library/enum.html#enum.nonmember - used enum.IntEnum/StrEnum Python 3.11+ has ReprEnum which uses int.__str__() and str.__str__() for __str__() in the `IntEnum` and `StrEnum` subclasses. We can emulate that for Python < 3.11. https://docs.python.org/3/library/enum.html#enum.ReprEnum https://docs.python.org/3/library/enum.html#enum.IntEnum https://docs.python.org/3/library/enum.html#enum.StrEnum
2023-09-13Refs #34233 -- Used @staticmethod with TextChoices._generate_next_value_().Nick Pope
Now that Python 3.10 is the minimum supported version, we can decorate _generate_next_value_() with @staticmethod. It wasn't possible before as Python < 3.10 does not support calling static methods direct from the class body. https://docs.python.org/3/library/enum.html#enum.Enum._generate_next_value_
2023-09-12Renamed ChoicesMeta to ChoicesType.Nick Pope
This also uses enum.EnumType for Python 3.11+ as Python 3.11 renamed EnumMeta to EnumType. While the former is still available as an alias of the latter for now, let's prefer the canonical name for this. Check out https://docs.python.org/3/library/enum.html#enum.EnumType
2023-09-12Removed ChoicesMeta.__contains__() for Python 3.12+.Nick Pope
In Python 3.12 it is possible to check containment using member values, not just the members themselves. https://docs.python.org/3/library/enum.html#enum.EnumType.__contains__
2023-09-11Fixed #34824 -- Prevented unnecessary AlterField when ↵donghao
ForeignObject.from_fields/to_fields is not a tuple.
2023-09-09Fixed #34820 -- Fixed migrations crash when changing a ForeignObject field.donghao
2023-09-07Fixed #34791 -- Fixed incorrect Prefetch()'s cache for singly related objects.Maxime Toussaint
Changed the cache name used for singly related objects to be the to_attr parameter passed to a Prefetch object. This fixes issues with checking if values have already been fetched in cases where the Field already has some prefetched value, but not for the same model attr.
2023-09-07Fixed #31300 -- Added GeneratedField model field.Jeremy Nauta
Thanks Adam Johnson and Paolo Melchiorre for reviews. Co-Authored-By: Lily Foote <code@lilyf.org> Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2023-09-01Fixed #34803 -- Fixed queryset crash when filtering againts deeply nested ↵willzhao
OuterRef annotations. Thanks Pierre-Nicolas Rigal for the report. Regression in c67ea79aa981ae82595d89f8018a41fcd842e7c9.
2023-08-31Fixed #34547 -- Deprecated DatabaseOperations.field_cast_sql().David Smith
2023-08-30 Fixed #31262 -- Added support for mappings on model fields and ↵Nick Pope
ChoiceField's choices.
2023-08-30Fixed #34799 -- Made MySQL introspection skip cross-database relations.John Whitman
2023-08-25Simplified QuerySet.update_or_create() a bit.Muzaffer Cikay
2023-08-23Fixed #34744 -- Prevented recreation of migration for constraints with a ↵David Sanders
dict_keys. Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2023-08-21Fixed #33143 -- Raised RuntimeWarning when performing import-time queries.Florian Zimmermann
2023-08-20Fixed DatabaseCreation.get_test_db_clone_settings() for empty database name ↵Mariusz Felisiak
on SQLite. Empty string should be considered an in-memory SQLite database.
2023-08-11Fixed #34362 -- Fixed FilteredRelation() crash on conditional expressions.Francesco Panico
Thanks zhu for the report and Simon Charette for reviews.