Loic Bistuer
4c3bfe9053
Fixed #24211 -- Removed ValuesQuerySet() and ValuesListQuerySet().
...
Thanks Anssi Kääriäinen, Marc Tamlyn, and Tim Graham for the reviews.
2015-01-30 22:02:58 +07:00
Josh Smeaton
8196e4bdf4
Fixed #24154 -- Backends can now check support for expressions
2015-01-27 12:20:06 +11:00
Tim Graham
be1357e709
Fixed a query failure on Python 3.5; refs #23763 .
...
The failure was introduced in Django by
c7fd9b242d
and the change in
Python 3.5 is https://hg.python.org/cpython/rev/a3c345ba3563 .
2015-01-20 08:13:53 -05:00
Tim Graham
5008a4db44
Removed legacy ORM lookup support per deprecation timeline; refs #16187 .
2015-01-19 11:11:30 -05:00
Tim Graham
2cd00424c4
Removed support for callable QuerySet arguments per deprecation timeline; refs #11629 .
2015-01-18 14:01:25 -05:00
Michał Modzelewski
65246de7b1
Fixed #24031 -- Added CASE expressions to the ORM.
2015-01-12 18:15:34 -05:00
Josh Smeaton
21b858cb67
Fixed #24060 -- Added OrderBy Expressions
2015-01-13 09:39:55 +11: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
Piotr Pawlaczek
41fc1c0b5e
Fixed #23758 -- Allowed more than 5 levels of subqueries
...
Refactored bump_prefix() to avoid infinite loop and allow more than
than 5 subquires by extending the alphabet to use multi-letters.
2014-12-31 08:48:28 -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
ab89414f40
Fixed #23853 -- Added Join class to replace JoinInfo
...
Also removed Query.join_map. This structure was used to speed up join
reuse calculation. Initial benchmarking shows that this isn't actually
needed. If there are use cases where the removal has real-world
performance implications, it should be relatively straightforward to
reintroduce it as map {alias: [Join-like objects]}.
2014-11-28 07:30:26 -05:00
Anssi Kääriäinen
bd337184f1
Fixed #23877 -- aggregation's subquery missed target col
...
Aggregation over subquery produced syntactically incorrect queries in
some cases as Django didn't ensure that source expressions of the
aggregation were present in the subquery.
2014-11-27 06:50:08 -05:00
Anssi Kääriäinen
c7fd9b242d
Fixed #23875 -- cleaned up query.get_count()
2014-11-27 06:26:53 -05:00
Anssi Kääriäinen
cbb5cdd155
Fixed #23867 -- removed DateQuerySet hacks
...
The .dates() queries were implemented by using custom Query, QuerySet,
and Compiler classes. Instead implement them by using expressions and
database converters APIs.
2014-11-26 17:49:25 -05:00
Anssi Kääriäinen
5c481db295
Fixed #23605 -- Fixed nested subquery regression
...
Added relabeled_clone() method to sql.Query to fix the problem. It
manifested itself in rare cases where at least double nested subquery's
filter condition might target non-existing alias.
Thanks to Trac alias ris for reporting the problem.
2014-11-20 13:38:08 -05:00
Anssi Kääriäinen
4252a14c39
Moved bilateral transform fetching to models.lookups
2014-11-17 18:04:08 +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
4e9a6c94e6
Removed extra enumerate() from Query.setup_joins()
2014-11-12 13:22:08 +02:00
Anssi Kääriäinen
d647764a53
Improved Query.names_to_path docstring
2014-11-12 12:40:55 +02:00
Anssi Kääriäinen
b3fd39f7c8
Simplified Query.build_lookup()
2014-11-11 08:14:29 +02:00
Collin Anderson
ae7cb992bc
Fixed #23721 -- check_related_objects without calling __iter__
...
Refs #14334
2014-10-28 10:13:50 +02:00
Thomas Chaumeny
00aa562884
Fixed #23493 -- Added bilateral attribute to Transform
2014-10-28 10:02:10 +02:00
Gabe Jackson
0e16c3e3cd
Fixed #23396 -- Ensured ValueQuerySets are not checked by check_related_objects.
2014-10-21 10:02:51 -04:00
Thomas Chaumeny
b2aad7b836
Replaced set([foo, ...]) by {foo, ...} literals. Refs PR 3282.
...
Thanks Collin Anderson for the review.
2014-09-29 00:01:38 +07:00
Matt Robenolt
ef5f9b6ae8
Fixed #23460 -- Added literal `%s` support to extra() QuerySets.
2014-09-26 13:01:27 -04:00
Thomas Chaumeny
e008a10c2f
Fixed #23443 -- Corrected erroneous FieldError message.
...
Thanks Tim Graham for the review.
2014-09-19 01:01:31 +07:00
Tim Graham
1101467ce0
Limited lines to 119 characters in django/
...
refs #23395 .
2014-09-05 09:22:16 -04:00
Marc Tamlyn
e9103402c0
Fixed #18757 , #14462 , #21565 -- Reworked database-python type conversions
...
Complete rework of translating data values from database
Deprecation of SubfieldBase, removal of resolve_columns and
convert_values in favour of a more general converter based approach and
public API Field.from_db_value(). Now works seamlessly with aggregation,
.values() and raw queries.
Thanks to akaariai in particular for extensive advice and inspiration,
also to shaib, manfre and timograham for their reviews.
2014-09-03 20:36:03 +01:00
Andrew Torpedov
bc06d2c11c
Fixed #23313 -- Corrected repr(RawQuery) with dict parameters.
2014-08-29 07:22:08 -04:00
Anubhav Joshi
cdfdcf4b70
Fixed #23266 -- Prevented queries caused by type checking lookup values
...
Small modifications done by committer.
2014-08-11 09:51:57 +03:00
Alex Hill
938da36cb1
Fixed #21603 -- Fixed complex RawQuerySets queries on some versions of SQLite.
2014-08-06 08:41:34 -04:00
Anubhav Joshi
34ba86706f
Fixed #14334 -- Query relation lookups now check object types.
...
Thanks rpbarlow for the suggestion; and loic, akaariai, and jorgecarleitao
for reviews.
2014-07-01 06:12:58 -04:00
Lovas Bence
9385aa3198
Fixed #22050 -- Fixed defer fields on proxy related models.
2014-06-25 07:20:18 -04:00
Tim Graham
95cc0e15b4
Fixed #22819 -- Renamed output_type -> output_field in query expression API.
...
Thanks jorgecarleitao for the suggestion.
2014-06-17 11:57:16 -04:00
Jorge C. Leitão
d2cbcbcc76
Improved code style of Query.table_alias() usage.
2014-06-14 15:14:13 +02:00
Jorge C. Leitão
e66896226a
Fixed #22826 -- Improved internal usage of Query.setup_joins.
2014-06-14 15:14:12 +02:00
Alex Gaynor
1dcc603eff
Fixed several typos in Django
2014-05-28 17:39:14 -07:00
Anssi Kääriäinen
3b7c66a3ac
Fixed #22466 -- ordering by reverse foreign key
...
Ordering by reverse foreign key was broken by custom lookups patch
(commit 20bab2cf9d
).
Thanks to everybody who helped solving this issue. Special thanks to
Trac alias takis for reporting this.
2014-05-05 15:28:07 +03:00
Anssi Kääriäinen
5e1f4656b9
Fixed #22429 -- Incorrect SQL when using ~Q and F
2014-05-05 13:02:11 +03:00
Alex Gaynor
2bcb8bfc8d
Fix many many typos in comments throughout the codebase
2014-04-26 10:18:45 -07:00
Alex Gaynor
add1584bfa
4 flake8 warning fixes
2014-03-08 16:17:54 -08:00
Claude Paroz
210d0489c5
Fixed #21188 -- Introduced subclasses for to-be-removed-in-django-XX warnings
...
Thanks Anssi Kääriäinen for the idea and Simon Charette for the
review.
2014-03-08 09:57:40 +01:00
Anssi Kääriäinen
219d928852
Fixed #21863 -- supplemented get_lookup() with get_transform()
...
Also fixed #22124 -- Expanded explanation of exactly what is going on in
as_sql() methods.
2014-03-07 14:52:13 +00: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
Martin Matusiak
48a8b714d4
Fixed bad grammar in a comment.
2014-02-25 21:02:35 -05:00
Anssi Kääriäinen
35cecb1ebd
Fixed #21748 -- join promotion for negated AND conditions
...
Made sure Django treats case .filter(NOT (a AND b)) the same way as
.filter((NOT a OR NOT b)) for join promotion.
2014-02-04 18:48:06 +02:00
Anssi Kääriäinen
78a2617703
Fixed #21787 -- regression in MTI .exclude() queries
2014-01-24 10:10:17 +02:00