Sergey Fedoseev
8ef8bc0f64
Refs #28909 -- Simplifed code using unpacking generalizations.
2018-09-28 09:57:12 -04:00
Tim Graham
9ba3df8240
Refs #29125 -- Made Q.deconstruct() omit 'query_utils' in the path and _connector='AND' since it's a default value.
2018-02-12 15:23:41 -05:00
Tim Graham
b95c49c954
Fixed #29125 -- Made Q.deconstruct() deterministic with multiple keyword arguments.
2018-02-12 14:52:32 -05:00
Mariusz Felisiak
c86e9b5847
Removed DeferredAttribute.__init__()'s unused model argument.
...
Unused since a8a81aae20
.
2018-01-02 17:54:10 -05:00
Simon Charette
b43acf22df
Refs #27849 -- Removed empty Q() hack in filtered Aggregate.as_sql().
...
This required allowing WhereNode to be provided as When(condition).
This was made possible by cf12257db2
.
2017-12-08 10:59:49 -05:00
Nicolas Delaby
01d440fa1e
Fixed #27332 -- Added FilteredRelation API for conditional join (ON clause) support.
...
Thanks Anssi Kääriäinen for contributing to the patch.
2017-09-22 11:53:17 -04:00
Sergey Fedoseev
99e7bba443
Prevented query_utils.refs_expression() from looking for empty string in annotations map.
2017-07-28 08:42:52 -04:00
Tom
bb0b6e5263
Fixed #28211 -- Prevented ORing an empty Q() from reducing query join efficiency.
2017-05-25 09:06:25 -04:00
Anton Samarchyan
60e52a047e
Refs #27656 -- Updated django.db docstring verbs according to PEP 257.
2017-02-28 09:17:27 -05:00
Ian Foote
508b5debfb
Refs #11964 -- Made Q objects deconstructible.
2017-02-23 20:47:48 -05:00
chillaranand
d6eaf7c018
Refs #23919 -- Replaced super(ClassName, self) with super().
2017-01-25 12:23:46 -05:00
Tim Graham
d170c63351
Refs #23919 -- Removed misc references to Python 2.
2017-01-21 20:02:00 -05:00
Simon Charette
cecc079168
Refs #23919 -- Stopped inheriting from object to define new style classes.
2017-01-19 08:39:46 +01:00
Aymeric Augustin
3cc5f01d9b
Refs #23919 -- Stopped using django.utils.lru_cache().
2017-01-18 21:42:40 -05:00
Claude Paroz
d7b9aaa366
Refs #23919 -- Removed encoding preambles and future imports
2017-01-18 09:55:19 +01:00
Tim Graham
c47f8a9d4d
Removed obsolete lines in DeferredAttribute.__get__().
...
Obsolete as of c21e86ab9e
.
2016-09-26 18:47:07 -04:00
Ryan P Kilby
7aeb7390fc
Fixed #26891 -- Fixed lookup registration for ForeignObject.
2016-08-11 14:16:48 -04:00
Anssi Kääriäinen
7f51876f99
Fixed #26207 -- Replaced dynamic classes with non-data descriptors for deferred instance loading.
2016-04-29 13:06:32 -04:00
Tim Graham
b454e2cbc9
Removed unused Q.clone().
...
Unused since afe0bb7b13
.
2016-04-25 08:31:32 -04:00
Tim Graham
a755e0657e
Removed unused BaseExpression.refs_aggregate().
...
Unused since afe0bb7b13
.
2016-04-22 13:04:13 -04:00
Tim Graham
0456a8b9e6
Fixed #26486 -- Fixed a select_related() + defer() MTI edge case.
2016-04-13 10:32:17 -04:00
Tim Graham
70d3f81ca4
Fixed #26233 -- Fixed invalid reSt in models.Q docstring.
2016-02-18 08:45:55 -05:00
Tim Graham
0b5d32faca
Fixed #25611 -- Standardized descriptor signatures.
2015-10-26 11:31:16 -04:00
Simon Charette
3db3ab71e9
Fixed #25563 -- Cached deferred models in their proxied model's _meta.apps.
...
Thanks to Andriy Sokolovskiy for the report and Tim Graham for the review.
2015-10-19 20:11:32 -04:00
Tim Graham
ea8e7fd989
Removed obsolete (since Python 2.3) __safe_for_unpickling__ attribute.
2015-10-05 08:07:27 -04:00
Josh Smeaton
534aaf56f4
Fixed #24629 -- Unified Transform and Expression APIs
2015-09-21 19:56:24 +10:00
Anssi Kääriäinen
9ed82154bd
Fixed #23791 -- Corrected object type check for pk__in=qs
...
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-29 07:49:31 -04:00
Mark Lavin
541f4ea546
Fixed #24924 -- Join promotion for multiple Case expressions
2015-06-05 12:22:43 -04:00
Anssi Kääriäinen
bc87061a3c
Fixed #24705 -- Fixed negated Q objects in expressions.
...
Avoided split_exclude() for Q when used as an expression.
2015-05-20 09:41:04 -04:00
Tim Graham
eda12ceef1
Removed redundant list() calls.
2015-05-16 10:44:07 -04:00
Anssi Kääriäinen
be9d645346
Fixed #24766 -- Added join promotion for Case expressions
2015-05-11 11:16:16 -04:00
Curtis Maloney
14ecbd02a3
Removed cases of six.iter* wrapped in a list()
...
There's absolutely no advantage [and a mild performance hit] to using six.iter*
in these cases.
2015-04-18 23:29:29 +10:00
Anssi Kääriäinen
8f30556329
Renamed Field.rel attribute to remote_field
...
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 08:16:12 -04:00
Anssi Kääriäinen
b68212f539
Refs #24267 -- Implemented lookups for related fields
...
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-03-25 08:05:22 -04:00
Tim Graham
0ed7d15563
Sorted imports with isort; refs #23860 .
2015-02-06 08:16:28 -05:00
Anssi Kääriäinen
afe0bb7b13
Fixed #24268 -- removed Query.having
...
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-02-04 09:26:40 -05:00
Simon Charette
47bdad4e6b
Replaced inner functions by class methods.
...
refs #24031
Thanks to Tim Graham and Michał Modzelewski for the review.
2015-01-15 13:03:34 -05:00
Michał Modzelewski
65246de7b1
Fixed #24031 -- Added CASE expressions to the ORM.
2015-01-12 18:15:34 -05:00
Anssi Kääriäinen
0c7633178f
Fixed #24020 -- Refactored SQL compiler to use expressions
...
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-08 14:07:54 -05:00
Daniel Pyrathon
fb48eb0581
Fixed #12663 -- Formalized the Model._meta API for retrieving fields.
...
Thanks to Russell Keith-Magee for mentoring this Google Summer of
Code 2014 project and everyone else who helped with the patch!
2015-01-06 19:25:12 -05:00
Daniel Pyrathon
8958170755
Fixed #9104 -- Moved FieldDoesNotExist to core.exceptions
2015-01-02 10:46:04 -05:00
Anssi Kääriäinen
f233bf47dd
Fixed #21414 -- Removed RelatedObject and deprecated Field.related.
2014-12-23 10:54:25 -05:00
Jon Dufresne
4468c08d70
Fixed #23968 -- Replaced list comprehension with generators and dict comprehension
2014-12-08 07:58:23 -05:00
Anssi Kääriäinen
c7175fcdfe
Fixed #901 -- Added Model.refresh_from_db() method
...
Thanks to github aliases dbrgn, carljm, slurms, dfunckt, and timgraham
for reviews.
2014-11-28 06:54:00 -05:00
Josh Smeaton
f61256da3a
Renamed qn to compiler
2014-11-16 13:19:34 +01:00
Josh Smeaton
f59fd15c49
Fixed #14030 -- Allowed annotations to accept all expressions
2014-11-15 14:00:43 +00:00
Anssi Kääriäinen
f7dba61881
Avoided creation of deferred model from another deferred model
...
Also never create deferred model when no attrs are deferred.
2014-08-12 14:58:10 +03:00
Rodolfo Carvalho
0d91225892
Fixed many typos in comments and docstrings.
...
Thanks Piotr Kasprzyk for help with the patch.
2014-03-03 07:38:09 -05:00
Aymeric Augustin
f630373b92
Fixed #21711 -- Enforced unicity of model names.
2014-01-05 20:52:53 +01:00
Aymeric Augustin
1716b7ce5a
Renamed AppCache to Apps.
...
Also renamed app_cache to apps and "app cache" to "app registry".
Deprecated AppCache.app_cache_ready() in favor of Apps.ready().
2013-12-24 12:25:17 +01:00