| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2025-03-31 | Refs #28909 -- Simplified code using unpacking generalizations. | Aarni Koskela | |
| 2025-03-31 | Fixed #22977 -- Added system check for clashing managers and reverse related ↵ | Anthony Joseph | |
| fields. With thanks to Konrad Świat, Loïc Bistuer, Russell Keith-Magee, and Mariusz Felisiak. Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com> | |||
| 2025-03-28 | Fixed #36239 -- Fixed a crash in ManyToManyField.through_fields check when ↵ | saJaeHyukc | |
| to model is invalid. Signed-off-by: saJaeHyukc <wogur981208@gmail.com> | |||
| 2025-03-25 | Fixed #36262 -- Made GeneratedField.db_persist a required key-word argument. | Jason Cameron | |
| 2025-02-18 | Fixed #35167 -- Delegated to super() in JSONField.get_db_prep_save(). | Jacob Walls | |
| Avoids reports of bulk_update() sending Cast expressions to JSONField.get_prep_value(). Co-authored-by: Simon Charette <charette.s@gmail.com> | |||
| 2025-02-18 | Fixed #36197 -- Fixed improper many-to-many count() and exists() for non-pk ↵ | Simon Charette | |
| to_field. Regression in 66e47ac69a7e71cf32eee312d05668d8f1ba24bb. Thanks mfontana-elem for the report and Sarah for the tests. | |||
| 2025-02-18 | Refs #36005 -- Used datetime.UTC alias instead of datetime.timezone.utc. | Mariusz Felisiak | |
| datetime.UTC was added in Python 3.11. | |||
| 2025-02-13 | Refs #36181 -- Removed the obsolete SubqueryConstraint machinery. | Simon Charette | |
| Adding proper support for subquery right-hand-sides to TupleIn made it obsolete. | |||
| 2025-02-13 | Fixed #36181 -- Allowed Subquery usage in __in lookups against composite pks. | Simon Charette | |
| Thanks Jacob Walls for the report. | |||
| 2025-02-11 | Fixed #36149 -- Allowed subquery values against tuple exact and in lookups. | Simon Charette | |
| Non-tuple exact and in lookups have specialized logic for subqueries that can be adapted to properly assign select mask if unspecified and ensure the number of involved members are matching on both side of the operator. | |||
| 2025-02-09 | Fixed #36148 -- Enabled native tuple comparison lookups on SQLite 3.37+ and ↵ | Simon Charette | |
| Oracle 23.4+. VALUES must be explicitly specified when declaring a sequence of tuples on SQLite < 3.37 but it's not required on >= 3.37. See sqlite/sqlite@9289f51 which addressed the last remaining issue with IN. | |||
| 2025-02-09 | Refs #36148 -- Relied on a feature switch to define tuple lookups support. | Simon Charette | |
| This should allow backends more easily opt-in or out of native support and rely on the fallback if unavailable. | |||
| 2025-02-09 | Refs #373 -- Delegated Tuple compilation to compiler. | Simon Charette | |
| This should allow third-party backends to define Tuple.as_vendor() overrides that are taken into consideration which calling as_sql() directly prevents. | |||
| 2025-02-06 | Fixed #36061 -- Added migration support for ManyToManyField.through_fields. | brian | |
| Added through_fields support to ManyToManyField.deconstruct. Thanks to Simon Charette for pointers and the review. | |||
| 2025-02-06 | Fixed #35677 -- Avoided non-sticky filtering of prefetched many-to-many. | Simon Charette | |
| The original queryset._next_is_sticky() call never had the intended effect as no further filtering was applied internally after the pk__in lookup making it a noop. In order to be coherent with how related filters are applied when retrieving objects from a related manager the effects of what calling _next_is_sticky() prior to applying annotations and filters to the queryset provided for prefetching are emulated by allowing the reuse of all pre-existing JOINs. Thanks David Glenck and Thiago Bellini Ribeiro for the detailed reports and tests. | |||
| 2025-02-03 | Fixed #36135 -- Fixed reverse GenericRelation prefetching. | Simon Charette | |
| The get_(local|foreign)_related_value methods of GenericRelation must be reversed because it defines (from|to)_fields and associated related_fields in the reversed order as it's effectively a reverse GenericForeignKey itself. The related value methods must also account for the fact that referenced primary key values might be stored as a string on the model defining the GenericForeignKey but as integer on the model defining the GenericRelation. This is achieved by calling the to_python method of the involved content type in get_foreign_related_value just like GenericRelatedObjectManager does. Lastly reverse many-to-one manager's prefetch_related_querysets should use set_cached_value instead of direct attribute assignment as direct assignment might are disallowed on ReverseManyToOneDescriptor descriptors. This is likely something that was missed in f5233dc (refs #32511) when the is_cached guard was added. Thanks 1xinghuan for the report. | |||
| 2025-01-21 | Fixed #36116 -- Optimized multi-column ForwardManyToOne prefetching. | Simon Charette | |
| Rely on ColPairs and TupleIn which support a single column to be specified to avoid special casing ForwardManyToOne.get_prefetch_querysets(). Thanks Jacob Walls for the report. | |||
| 2025-01-20 | Fixed #36005 -- Dropped support for Python 3.10 and 3.11. | Mariusz Felisiak | |
| 2025-01-15 | Refs #35405 -- Removed FieldCacheMixin.get_cache_name() per deprecation ↵ | Sarah Boyce | |
| timeline. | |||
| 2025-01-15 | Refs #33651 -- Removed Prefetch.get_current_queryset() and ↵ | Sarah Boyce | |
| get_prefetch_queryset() per deprecation timeline. | |||
| 2025-01-15 | Refs #16055 -- Removed get_joining_columns()/get_reverse_joining_columns() ↵ | Sarah Boyce | |
| methods per deprecation timeline. | |||
| 2025-01-14 | Fixed CVE-2024-56374 -- Mitigated potential DoS in IPv6 validation. | Michael Manfre | |
| Thanks Saravana Kumar for the report, and Sarah Boyce and Mariusz Felisiak for the reviews. Co-authored-by: Natalia <124304+nessita@users.noreply.github.com> | |||
| 2025-01-13 | Refs #36050 -- Fixed OuterRef support for CompositePrimaryKey on Oracle. | Simon Charette | |
| Oracle doesn't support native tuple comparison so each as_oracle implementation of tuple lookups must also perform right-hand-side sanitization. | |||
| 2025-01-10 | Fixed #36050 -- Added OuterRef support to CompositePrimaryKey. | Bendeguz Csirmaz | |
| 2025-01-10 | Refs #36064 -- Added Model.has_db_default() to encapsulate NOT_PROVIDED checks. | Simon Charette | |
| This avoids many awkward checks against NOT_PROVIDED and provides symmetry with Field.has_default() which is also the reason why it wasn't made a property. | |||
| 2025-01-08 | Fixed #36062 -- Handled serialization of CompositePrimaryKeys. | Sarah Boyce | |
| 2025-01-07 | Refs #36042 -- Raised ValueError when providing composite expressions to ↵ | Jacob Walls | |
| aggregates. | |||
| 2025-01-06 | Fixed #36048 -- Preferred ValueError to NotSupportedError for composite pk ↵ | Jacob Walls | |
| sanity checks. These checks are not backend-dependent. | |||
| 2025-01-02 | Fixed typo in django/db/models/fields/related_descriptors.py. | Jacob Walls | |
| 2025-01-02 | Fixed #36034 -- Added system check for ↵ | Mariusz Felisiak | |
| ForeignKey/ForeignObject/ManyToManyField to CompositePrimaryKeys. | |||
| 2025-01-02 | Refs #373 -- Errored when providing db_column to CompositePrimaryKey. | Jacob Walls | |
| 2024-12-09 | Fixed #35982 -- Made DecimalField.get_db_prep_value() call ↵ | Tim Graham | |
| DatabaseOperations.adapt_decimalfield_value(). Regression in e9814029f570bd0866dc859147bca90340bcc913. Thanks Simon Charette for advice and review. | |||
| 2024-12-04 | Fixed CVE-2024-53908 -- Prevented SQL injections in direct HasKeyLookup ↵ | Simon Charette | |
| usage on Oracle. Thanks Seokchan Yoon for the report, and Mariusz Felisiak and Sarah Boyce for the reviews. | |||
| 2024-12-03 | Refs #35842 -- Fixed handling of quotes in JSONField key lookups on Oracle. | Sage Abdullah | |
| 2024-11-29 | Fixed #373 -- Added CompositePrimaryKey. | Bendeguz Csirmaz | |
| Thanks Lily Foote and Simon Charette for reviews and mentoring this Google Summer of Code 2024 project. Co-authored-by: Simon Charette <charette.s@gmail.com> Co-authored-by: Lily Foote <code@lilyf.org> | |||
| 2024-11-11 | Fixed #35815 -- Made system check accept db_default literals when ↵ | Tim Graham | |
| DatabaseFeatures.supports_expression_defaults = False. | |||
| 2024-11-04 | Refs #373 -- Added TupleIn subqueries. | Bendeguz Csirmaz | |
| 2024-10-14 | Refs #373 -- Added additional validations to tuple lookups. | Bendeguz Csirmaz | |
| 2024-09-26 | Refs #373 -- Added support for using tuple lookups in filters. | Bendeguz Csirmaz | |
| 2024-09-20 | Refs #373 -- Updated TupleIsNull lookup to check if any is NULL rather than all. | Bendeguz Csirmaz | |
| Regression in 1eac690d25dd49088256954d4046813daa37dc95. | |||
| 2024-09-11 | Refs #373 -- Removed outdated comment in RelatedIn lookup. | Csirmaz Bendegúz | |
| 2024-09-11 | Refs #373 -- Refactored variable assignments in ColPairs and tuple lookups. | Bendeguz Csirmaz | |
| 2024-09-11 | Refs #373 -- Improved test coverage of tuple lookup checks. | Bendeguz Csirmaz | |
| This also removed unreachable checks. | |||
| 2024-09-09 | Refs #373 -- Added Model._is_pk_set() abstraction to check if a Model's PK ↵ | Csirmaz Bendegúz | |
| is set. | |||
| 2024-08-28 | Refs #35405 -- Adjusted deprecation warning stacklevel in ↵ | Simon Charette | |
| FieldCacheMixin.get_cache_name(). | |||
| 2024-08-28 | Refs #16055 -- Adjusted deprecation warning stacklevel in ↵ | Simon Charette | |
| get_joining_columns()/get_reverse_joining_columns(). | |||
| 2024-08-05 | Fixed #35657 -- Made FileField handle db_default values. | Sarah Boyce | |
| 2024-08-05 | Fixed #35638 -- Updated validate_constraints to consider db_default. | David Sanders | |
| 2024-08-01 | Refs #373 -- Added tuple lookups. | Bendeguz Csirmaz | |
| 2024-07-09 | Fixed #35580 -- Allowed related fields referencing auto-created through models. | jason_bruce | |
