summaryrefslogtreecommitdiff
path: root/django/db/models/query_utils.py
AgeCommit message (Collapse)Author
2018-10-08Replaced kwargs.pop() with keyword-only arguments.Jon Dufresne
2018-09-28Refs #28909 -- Simplifed code using unpacking generalizations.Sergey Fedoseev
2018-02-12Refs #29125 -- Made Q.deconstruct() omit 'query_utils' in the path and ↵Tim Graham
_connector='AND' since it's a default value.
2018-02-12Fixed #29125 -- Made Q.deconstruct() deterministic with multiple keyword ↵Tim Graham
arguments.
2018-01-02Removed DeferredAttribute.__init__()'s unused model argument.Mariusz Felisiak
Unused since a8a81aae20a81e012fddc24f3ede556501af64a2.
2017-12-08Refs #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-22Fixed #27332 -- Added FilteredRelation API for conditional join (ON clause) ↵Nicolas Delaby
support. Thanks Anssi Kääriäinen for contributing to the patch.
2017-07-28Prevented query_utils.refs_expression() from looking for empty string in ↵Sergey Fedoseev
annotations map.
2017-05-25Fixed #28211 -- Prevented ORing an empty Q() from reducing query join ↵Tom
efficiency.
2017-02-28Refs #27656 -- Updated django.db docstring verbs according to PEP 257.Anton Samarchyan
2017-02-23Refs #11964 -- Made Q objects deconstructible.Ian Foote
2017-01-25Refs #23919 -- Replaced super(ClassName, self) with super().chillaranand
2017-01-21Refs #23919 -- Removed misc references to Python 2.Tim Graham
2017-01-19Refs #23919 -- Stopped inheriting from object to define new style classes.Simon Charette
2017-01-18Refs #23919 -- Stopped using django.utils.lru_cache().Aymeric Augustin
2017-01-18Refs #23919 -- Removed encoding preambles and future importsClaude Paroz
2016-09-26Removed obsolete lines in DeferredAttribute.__get__().Tim Graham
Obsolete as of c21e86ab9e3e5ebd6d245d038cb0cb352cd84c3a.
2016-08-11Fixed #26891 -- Fixed lookup registration for ForeignObject.Ryan P Kilby
2016-04-29Fixed #26207 -- Replaced dynamic classes with non-data descriptors for ↵Anssi Kääriäinen
deferred instance loading.
2016-04-25Removed unused Q.clone().Tim Graham
Unused since afe0bb7b13bb8dc4370f32225238012c873b0ee3.
2016-04-22Removed unused BaseExpression.refs_aggregate().Tim Graham
Unused since afe0bb7b13bb8dc4370f32225238012c873b0ee3.
2016-04-13Fixed #26486 -- Fixed a select_related() + defer() MTI edge case.Tim Graham
2016-02-18Fixed #26233 -- Fixed invalid reSt in models.Q docstring.Tim Graham
2015-10-26Fixed #25611 -- Standardized descriptor signatures.Tim Graham
2015-10-19Fixed #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-05Removed obsolete (since Python 2.3) __safe_for_unpickling__ attribute.Tim Graham
2015-09-21Fixed #24629 -- Unified Transform and Expression APIsJosh Smeaton
2015-06-29Fixed #23791 -- Corrected object type check for pk__in=qsAnssi 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-05Fixed #24924 -- Join promotion for multiple Case expressionsMark Lavin
2015-05-20Fixed #24705 -- Fixed negated Q objects in expressions.Anssi Kääriäinen
Avoided split_exclude() for Q when used as an expression.
2015-05-16Removed redundant list() calls.Tim Graham
2015-05-11Fixed #24766 -- Added join promotion for Case expressionsAnssi Kääriäinen
2015-04-18Removed 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-25Renamed Field.rel attribute to remote_fieldAnssi 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-25Refs #24267 -- Implemented lookups for related fieldsAnssi 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-06Sorted imports with isort; refs #23860.Tim Graham
2015-02-04Fixed #24268 -- removed Query.havingAnssi 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-15Replaced inner functions by class methods.Simon Charette
refs #24031 Thanks to Tim Graham and Michał Modzelewski for the review.
2015-01-12Fixed #24031 -- Added CASE expressions to the ORM.Michał Modzelewski
2015-01-08Fixed #24020 -- Refactored SQL compiler to use expressionsAnssi 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.
2015-01-06Fixed #12663 -- Formalized the Model._meta API for retrieving fields.Daniel Pyrathon
Thanks to Russell Keith-Magee for mentoring this Google Summer of Code 2014 project and everyone else who helped with the patch!
2015-01-02Fixed #9104 -- Moved FieldDoesNotExist to core.exceptionsDaniel Pyrathon
2014-12-23Fixed #21414 -- Removed RelatedObject and deprecated Field.related.Anssi Kääriäinen
2014-12-08Fixed #23968 -- Replaced list comprehension with generators and dict ↵Jon Dufresne
comprehension
2014-11-28Fixed #901 -- Added Model.refresh_from_db() methodAnssi Kääriäinen
Thanks to github aliases dbrgn, carljm, slurms, dfunckt, and timgraham for reviews.
2014-11-16Renamed qn to compilerJosh Smeaton
2014-11-15Fixed #14030 -- Allowed annotations to accept all expressionsJosh Smeaton
2014-08-12Avoided creation of deferred model from another deferred modelAnssi Kääriäinen
Also never create deferred model when no attrs are deferred.
2014-03-03Fixed many typos in comments and docstrings.Rodolfo Carvalho
Thanks Piotr Kasprzyk for help with the patch.
2014-01-05Fixed #21711 -- Enforced unicity of model names.Aymeric Augustin