Simon Charette
bdc07f176e
Fixed #30188 -- Fixed a crash when aggregating over a subquery annotation.
2019-03-23 09:48:31 -04:00
Simon Charette
f19a4945e1
Fixed #21703 -- Fixed a crash when excluding a related field with a F().
2019-03-23 09:48:28 -04:00
Simon Charette
5935a9aead
Removed obsolete Lookup hook to prepare rhs expressions.
...
After 3a505c70e7
, all _prepare() methods
return self.
2019-03-21 20:54:21 -04:00
Simon Charette
3a505c70e7
Refs #27149 , #29542 -- Simplified subquery parentheses wrapping logic.
2019-03-21 20:42:26 -04:00
Simon Charette
3543129822
Refs #27149 -- Moved subquery expression resolving to Query.
...
This makes Subquery a thin wrapper over Query and makes sure it respects
the Expression source expression API by accepting the same number of
expressions as it returns. Refs #30188 .
It also makes OuterRef usable in Query without Subquery wrapping. This
should allow Query's internals to more easily perform subquery push downs
during split_exclude(). Refs #21703 .
2019-03-21 20:36:31 -04:00
Simon Charette
9dc367dc10
Refs #30158 -- Added alias argument to Expression.get_group_by_cols().
2019-03-21 18:47:46 -04:00
Dan Davis
2bd8df243a
Fixed #30184 -- Removed ellipsis characters from shell output strings.
...
Partially reverted 50b8493581
(refs #29654 )
to avoid a crash when the user shell doesn't support non-ASCII characters.
2019-02-13 13:59:44 -05:00
Nick Pope
24b82cd201
Fixed #30159 -- Removed unneeded use of OrderedDict.
...
Dicts preserve order since Python 3.6.
2019-02-06 13:48:39 -05:00
Simon Charette
9e5e5a657b
Fixed #30044 -- Raised a FieldError on inherited field update attempts.
2019-01-16 14:09:51 -05:00
Mariusz Felisiak
d5f4ce9849
Fixed #29949 -- Refactored db introspection identifier converters.
...
Removed DatabaseIntrospection.table_name_converter()/column_name_converter()
and use instead DatabaseIntrospection.identifier_converter().
Removed DatabaseFeatures.uppercases_column_names.
Thanks Tim Graham for the initial patch and review and Simon Charette
for the review.
2018-11-21 09:06:50 +01:00
Jon Dufresne
2ba588e773
Refs #27795 -- Removed force_text() usage in db/models/sql/query.py.
2018-10-08 14:47:01 -04:00
Abhinav Patil
bf01994a5c
Fixed #29804 -- Added 'did you mean' suggestions for unsupported lookup error.
2018-10-01 19:03:10 -04:00
Sergey Fedoseev
8ef8bc0f64
Refs #28909 -- Simplifed code using unpacking generalizations.
2018-09-28 09:57:12 -04:00
Alexander Holmbäck
f315d0423a
Fixed #29727 -- Made nonexistent joins in F() raise FieldError.
...
Regression in 2162f0983d
.
2018-09-08 09:40:33 -04:00
Claude Paroz
50b8493581
Refs #29654 -- Replaced three dots with ellipsis character in output strings.
2018-08-22 09:13:58 -04:00
Mariusz Felisiak
a73cf8110e
Removed duplicate words in various comments.
2018-07-18 11:54:15 -04:00
Ian Foote
952f05a6db
Fixed #11964 -- Added support for database check constraints.
2018-07-10 15:32:33 -04:00
Mariusz Felisiak
0e64e046a4
Fixed #29530 -- Fixed aliases ordering when chaining annotate() and filter().
2018-07-02 21:09:29 +02:00
Tom
c1c163b427
Fixed #28574 -- Added QuerySet.explain().
2018-04-19 10:52:19 -04:00
Dmitry Dygalo
c979c0a2b8
Fixed #25718 -- Made a JSONField lookup value of None match keys that have a null value.
2018-04-04 10:53:46 -04:00
Matthew Wilkes
2162f0983d
Fixed #24747 -- Allowed transforms in QuerySet.order_by() and distinct(*fields).
2018-02-10 19:08:55 -05:00
Raymond Hettinger
aba9763b51
Refs #28814 -- Imported from collections.abc to fix Python 3.7 deprecation warnings.
...
https://bugs.python.org/issue25988
2018-02-05 11:42:47 -05:00
Mariusz Felisiak
385e6fb352
Removed Query.split_exclude()'s unused prefix argument.
...
Unused since b4492a8ca4
.
2018-01-12 19:06:15 -05:00
Дилян Палаузов
a38ae914d8
Fixed #28996 -- Simplified some boolean constructs and removed trivial continue statements.
2018-01-12 12:44:50 -05:00
Дилян Палаузов
d7b2aa24f7
Fixed #28982 -- Simplified code with and/or.
2018-01-03 20:12:23 -05:00
Robin Ramael
fbf647287e
Fixed #28811 -- Fixed crash when combining regular and group by annotations.
2018-01-03 08:24:16 -05:00
Sergey Fedoseev
10bfa876be
Refs #27985 -- Reallowed using __exact=None as an alias for __isnull=True if a custom lookup class with lookup_name != None is registered as the exact lookup.
...
Regression in 58da81a5a3
and prerequisite
for refs #28896 .
2017-12-12 17:11:58 -10:00
Tim Graham
a862af3839
Fixed #28893 -- Removed unnecessary dict.items() calls.
2017-12-06 17:17:59 -05:00
Дилян Палаузов
d2afa5eb23
Fixed #28860 -- Removed unnecessary len() calls.
2017-12-04 10:35:23 -05:00
Дилян Палаузов
23bf4ad87f
Fixed #28795 -- Removed 'not in' checks and used dict.setdefault().
2017-11-14 10:52:52 -05:00
Дилян Палаузов
c69e4bc691
Fixed #28769 -- Replaced 'x if x else y' with 'x or y'.
2017-11-07 09:08:46 -05:00
Tim Graham
1b73ccc4bf
Fixed #28497 -- Restored the ability to use sliced QuerySets with __exact.
...
Regression in ec50937bcb
.
Thanks Simon Charette for review.
2017-10-16 13:56:38 -04: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
Nicolas Delaby
a30ef353e2
Removed unused list in Query.resolve_lookup_value().
...
Unneeded since its introduction in 4f138fe5a4
.
2017-09-20 09:50:14 -04:00
Mads Jensen
d549b88050
Fixed #26608 -- Added support for window expressions (OVER clause).
...
Thanks Josh Smeaton, Mariusz Felisiak, Sergey Fedoseev, Simon Charettes,
Adam Chainz/Johnson and Tim Graham for comments and reviews and Jamie
Cockburn for initial patch.
2017-09-18 09:42:29 -04:00
Tim Graham
6e4c6281db
Reverted "Fixed #27818 -- Replaced try/except/pass with contextlib.suppress()."
...
This reverts commit 550cb3a365
because try/except performs better.
2017-09-07 08:16:21 -04:00
Mariusz Felisiak
fe0184b412
Updated EmpytResultSet import not to use the alias.
2017-09-03 11:06:06 -04:00
Jeremy Kerr
84b7cb7df0
Fixed #28549 -- Fixed QuerySet.defer() with super and subclass fields.
...
Previously, deferring fields in different classes didn't omit the
superclass' deferred field.
Thanks Simon Charette for the suggested fix.
2017-08-31 09:35:05 -04:00
Sergey Fedoseev
41640760df
Simplified generation of result in Query.get_aggregation().
2017-08-15 09:59:31 -04:00
Sergey Fedoseev
6141040813
Avoided creation of temporary set in Query.append_annotation_mask().
2017-08-15 09:43:47 -04:00
Sergey Fedoseev
0ec134e340
Simplified calculation of used joins in Query.build_filter().
2017-08-11 10:46:11 -04:00
Sergey Fedoseev
7fa92daa99
Removed outdated comment in Query.build_filter().
2017-08-11 09:19:19 -04:00
Sergey Fedoseev
ca46f4688c
Refs #28459 -- Improved performance of SQLCompiler.results_iter().
2017-08-07 17:06:15 -04:00
Matthew Wilkes
32d1bf2bdb
Fixed #28454 -- Simplifed use of Query.setup_joins() by returning a named tuple.
2017-08-01 14:25:54 -04:00
Sergey Fedoseev
58da81a5a3
Fixed #27985 -- Fixed query for __exact=value when get_prep_value() converts value to None.
...
Also fixed crash of .filter(field__transform=None).
2017-07-31 15:34:07 -04:00
Anssi Kääriäinen
6155bc4a51
Refs #20880 -- Removed non-cloning logic from Query.clone().
2017-07-31 15:31:29 -04:00
Sergey Fedoseev
0baea920c8
Fixed #28453 -- Made __exact=None lookup use transforms.
2017-07-31 13:31:04 -04:00
Sergey Fedoseev
aadd3aeb2b
Avoided creating temporary lists for obtaining the first item.
2017-07-31 11:02:23 -04:00
Sergey Fedoseev
38988f289f
Avoided creation of temporary sets.
2017-07-29 10:16:43 -04:00
Tim Graham
487362fa8f
Fixed #28370 -- Deprecated the context arg of Field.from_db_value() and Expression.convert_value().
...
Unused since a0d166306f
.
2017-07-20 16:30:08 -04:00