| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-02-19 | [3.2.x] Fixed #32455 -- Allowed right combining Q() with boolean expressions. | Hasan Ramezani | |
| Backport of f2bef2b7bc6c817af0f5fa77e1052a1f5ce12f71 from master | |||
| 2021-02-18 | [3.2.x] Fixed #32450 -- Fixed crash when ANDing/ORing an empty Q() with not ↵ | starryrbs | |
| pickleable Q(). Regression in bb0b6e526340e638522e093765e534df4e4393d2. Backport of 466920f6d726eee90d5566e0a9948e92b33a122e from master | |||
| 2020-06-10 | Fixed #31680 -- Removed unnecessary getattr() call in ↵ | alosultan | |
| DeferredAttribute.__get__(). refresh_from_db() loads fields values. | |||
| 2020-01-29 | Simplified DeferredAttribute.__get__() a bit. | Taoup | |
| 2019-12-06 | Fixed #31060 -- Reallowed window expressions to be used in conditions ↵ | Alex Aktsipetrov | |
| outside of queryset filters. Regression in 4edad1ddf6203326e0be4bdb105beecb0fe454c4. Thanks utapyngo for the report. | |||
| 2019-11-18 | Fixed #30988 -- Deprecated the InvalidQuery exception. | Simon Charette | |
| It was barely documented without pointers at its defining location and was abused to prevent misuse of the QuerySet field deferring feature. | |||
| 2019-11-18 | Replaced QueryWrapper single usage with RawSQL. | Simon Charette | |
| 2019-10-01 | Fixed #30651 -- Made __eq__() methods return NotImplemented for not ↵ | ElizabethU | |
| implemented comparisons. Changed __eq__ to return NotImplemented instead of False if compared to an object of the same type, as is recommended by the Python data model reference. Now these models can be compared to ANY (or other objects with __eq__ overwritten) without returning False automatically. | |||
| 2019-07-25 | Refs #30657 -- Made DeferredAttribute.__init__() to take a field instance ↵ | Jon Dufresne | |
| instead of a field name. | |||
| 2019-04-03 | Fixed typo in django/db/models/query_utils.py comment. | David Beitey | |
| 2018-10-08 | Replaced kwargs.pop() with keyword-only arguments. | Jon Dufresne | |
| 2018-09-28 | Refs #28909 -- Simplifed code using unpacking generalizations. | Sergey Fedoseev | |
| 2018-02-12 | Refs #29125 -- Made Q.deconstruct() omit 'query_utils' in the path and ↵ | Tim Graham | |
| _connector='AND' since it's a default value. | |||
| 2018-02-12 | Fixed #29125 -- Made Q.deconstruct() deterministic with multiple keyword ↵ | Tim Graham | |
| arguments. | |||
| 2018-01-02 | Removed DeferredAttribute.__init__()'s unused model argument. | Mariusz Felisiak | |
| Unused since a8a81aae20a81e012fddc24f3ede556501af64a2. | |||
| 2017-12-08 | Refs #27849 -- Removed empty Q() hack in filtered Aggregate.as_sql(). | Simon Charette | |
| This required allowing WhereNode to be provided as When(condition). This was made possible by cf12257db23fa248c89a3da3f718aa01a50ca659. | |||
| 2017-09-22 | Fixed #27332 -- Added FilteredRelation API for conditional join (ON clause) ↵ | Nicolas Delaby | |
| support. Thanks Anssi Kääriäinen for contributing to the patch. | |||
| 2017-07-28 | Prevented query_utils.refs_expression() from looking for empty string in ↵ | Sergey Fedoseev | |
| annotations map. | |||
| 2017-05-25 | Fixed #28211 -- Prevented ORing an empty Q() from reducing query join ↵ | Tom | |
| efficiency. | |||
| 2017-02-28 | Refs #27656 -- Updated django.db docstring verbs according to PEP 257. | Anton Samarchyan | |
| 2017-02-23 | Refs #11964 -- Made Q objects deconstructible. | Ian Foote | |
| 2017-01-25 | Refs #23919 -- Replaced super(ClassName, self) with super(). | chillaranand | |
| 2017-01-21 | Refs #23919 -- Removed misc references to Python 2. | Tim Graham | |
| 2017-01-19 | Refs #23919 -- Stopped inheriting from object to define new style classes. | Simon Charette | |
| 2017-01-18 | Refs #23919 -- Stopped using django.utils.lru_cache(). | Aymeric Augustin | |
| 2017-01-18 | Refs #23919 -- Removed encoding preambles and future imports | Claude Paroz | |
| 2016-09-26 | Removed obsolete lines in DeferredAttribute.__get__(). | Tim Graham | |
| Obsolete as of c21e86ab9e3e5ebd6d245d038cb0cb352cd84c3a. | |||
| 2016-08-11 | Fixed #26891 -- Fixed lookup registration for ForeignObject. | Ryan P Kilby | |
| 2016-04-29 | Fixed #26207 -- Replaced dynamic classes with non-data descriptors for ↵ | Anssi Kääriäinen | |
| deferred instance loading. | |||
| 2016-04-25 | Removed unused Q.clone(). | Tim Graham | |
| Unused since afe0bb7b13bb8dc4370f32225238012c873b0ee3. | |||
| 2016-04-22 | Removed unused BaseExpression.refs_aggregate(). | Tim Graham | |
| Unused since afe0bb7b13bb8dc4370f32225238012c873b0ee3. | |||
| 2016-04-13 | Fixed #26486 -- Fixed a select_related() + defer() MTI edge case. | Tim Graham | |
| 2016-02-18 | Fixed #26233 -- Fixed invalid reSt in models.Q docstring. | Tim Graham | |
| 2015-10-26 | Fixed #25611 -- Standardized descriptor signatures. | Tim Graham | |
| 2015-10-19 | Fixed #25563 -- Cached deferred models in their proxied model's _meta.apps. | Simon Charette | |
| Thanks to Andriy Sokolovskiy for the report and Tim Graham for the review. | |||
| 2015-10-05 | Removed obsolete (since Python 2.3) __safe_for_unpickling__ attribute. | Tim Graham | |
| 2015-09-21 | Fixed #24629 -- Unified Transform and Expression APIs | Josh Smeaton | |
| 2015-06-29 | Fixed #23791 -- Corrected object type check for pk__in=qs | Anssi Kääriäinen | |
| When the pk was a relation field, qs.filter(pk__in=qs) didn't work. In addition, fixed Restaurant.objects.filter(place=restaurant_instance), where place is an OneToOneField and the primary key of Restaurant. A big thank you to Josh for review and to Tim for review and cosmetic edits. Thanks to Beauhurst for commissioning the work on this ticket. | |||
| 2015-06-05 | Fixed #24924 -- Join promotion for multiple Case expressions | Mark Lavin | |
| 2015-05-20 | Fixed #24705 -- Fixed negated Q objects in expressions. | Anssi Kääriäinen | |
| Avoided split_exclude() for Q when used as an expression. | |||
| 2015-05-16 | Removed redundant list() calls. | Tim Graham | |
| 2015-05-11 | Fixed #24766 -- Added join promotion for Case expressions | Anssi Kääriäinen | |
| 2015-04-18 | Removed cases of six.iter* wrapped in a list() | Curtis Maloney | |
| There's absolutely no advantage [and a mild performance hit] to using six.iter* in these cases. | |||
| 2015-03-25 | Renamed Field.rel attribute to remote_field | Anssi Kääriäinen | |
| Field.rel is now deprecated. Rel objects have now also remote_field attribute. This means that self == self.remote_field.remote_field. In addition, made the Rel objects a bit more like Field objects. Still, marked ManyToManyFields as null=True. | |||
| 2015-03-25 | Refs #24267 -- Implemented lookups for related fields | Anssi Kääriäinen | |
| Previously related fields didn't implement get_lookup, instead related fields were treated specially. This commit removed some of the special handling. In particular, related fields return Lookup instances now, too. Other notable changes in this commit is removal of support for annotations in names_to_path(). | |||
| 2015-02-06 | Sorted imports with isort; refs #23860. | Tim Graham | |
| 2015-02-04 | Fixed #24268 -- removed Query.having | Anssi Kääriäinen | |
| Instead of splitting filter clauses to where and having parts before adding them to query.where or query.having, add all filter clauses to query.where, and when compiling the query split the where to having and where parts. | |||
| 2015-01-15 | Replaced inner functions by class methods. | Simon Charette | |
| refs #24031 Thanks to Tim Graham and Michał Modzelewski for the review. | |||
| 2015-01-12 | Fixed #24031 -- Added CASE expressions to the ORM. | Michał Modzelewski | |
| 2015-01-08 | Fixed #24020 -- Refactored SQL compiler to use expressions | Anssi Kääriäinen | |
| Refactored compiler SELECT, GROUP BY and ORDER BY generation. While there, also refactored select_related() implementation (get_cached_row() and get_klass_info() are now gone!). Made get_db_converters() method work on expressions instead of internal_type. This allows the backend converters to target specific expressions if need be. Added query.context, this can be used to set per-query state. Also changed the signature of database converters. They now accept context as an argument. | |||
