summaryrefslogtreecommitdiff
path: root/django/db/models/sql
AgeCommit message (Collapse)Author
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-31Fixed #23758 -- Allowed more than 5 levels of subqueriesPiotr Pawlaczek
Refactored bump_prefix() to avoid infinite loop and allow more than than 5 subquires by extending the alphabet to use multi-letters.
2014-12-24Fixed #10414 -- Made select_related() fail on invalid field names.Niclas Olofsson
2014-12-23Fixed #21414 -- Removed RelatedObject and deprecated Field.related.Anssi Kääriäinen
2014-12-18Refs #24020 -- return expressions from get_group_by_cols()Anssi Kääriäinen
2014-12-13Fixed #23812 -- Changed django.utils.six.moves.xrange imports to rangeMichael Hall
2014-12-08Fixed #23968 -- Replaced list comprehension with generators and dict ↵Jon Dufresne
comprehension
2014-11-28Fixed #23853 -- Added Join class to replace JoinInfoAnssi Kääriäinen
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-27Fixed #23877 -- aggregation's subquery missed target colAnssi Kääriäinen
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-27Fixed #23875 -- cleaned up query.get_count()Anssi Kääriäinen
2014-11-26Fixed #23867 -- removed DateQuerySet hacksAnssi Kääriäinen
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-20Fixed #23605 -- Fixed nested subquery regressionAnssi Kääriäinen
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-20Fixed #23876 -- Removed dead code in SQLAggregateCompiler.Carl Meyer
2014-11-18Deprecated calling a SQLCompiler instance.Carl Meyer
2014-11-17Moved bilateral transform fetching to models.lookupsAnssi Kääriäinen
2014-11-16Renamed qn to compilerJosh Smeaton
2014-11-15Fixed #14030 -- Allowed annotations to accept all expressionsJosh Smeaton
2014-11-12Removed extra enumerate() from Query.setup_joins()Anssi Kääriäinen
2014-11-12Improved Query.names_to_path docstringAnssi Kääriäinen
2014-11-11Simplified Query.build_lookup()Anssi Kääriäinen
2014-10-28Fixed #23721 -- check_related_objects without calling __iter__Collin Anderson
Refs #14334
2014-10-28Fixed #23493 -- Added bilateral attribute to TransformThomas Chaumeny
2014-10-21Fixed #23396 -- Ensured ValueQuerySets are not checked by check_related_objects.Gabe Jackson
2014-09-29Replaced set([foo, ...]) by {foo, ...} literals. Refs PR 3282.Thomas Chaumeny
Thanks Collin Anderson for the review.
2014-09-26Fixed #23460 -- Added literal `%s` support to extra() QuerySets.Matt Robenolt
2014-09-19Fixed #23443 -- Corrected erroneous FieldError message.Thomas Chaumeny
Thanks Tim Graham for the review.
2014-09-05Limited lines to 119 characters in django/Tim Graham
refs #23395.
2014-09-03Fixed #18757, #14462, #21565 -- Reworked database-python type conversionsMarc Tamlyn
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-08-29Fixed #23313 -- Corrected repr(RawQuery) with dict parameters.Andrew Torpedov
2014-08-11Fixed #23266 -- Prevented queries caused by type checking lookup valuesAnubhav Joshi
Small modifications done by committer.
2014-08-11Fixed #23259 -- Corrected insertion order of extra() select_paramsRajiv Makhijani
A regression caused queries to produce incorrect results for cases where extra(select) is excluded by values() but included by extra(order_by) The regression was caused by 2f35c6f10fcbae541691207fb0c0560a13b754fc.
2014-08-06Fixed #21603 -- Fixed complex RawQuerySets queries on some versions of SQLite.Alex Hill
2014-07-01Fixed #14334 -- Query relation lookups now check object types.Anubhav Joshi
Thanks rpbarlow for the suggestion; and loic, akaariai, and jorgecarleitao for reviews.
2014-06-25Fixed #22050 -- Fixed defer fields on proxy related models.Lovas Bence
2014-06-17Fixed #22819 -- Renamed output_type -> output_field in query expression API.Tim Graham
Thanks jorgecarleitao for the suggestion.
2014-06-14Improved code style of Query.table_alias() usage.Jorge C. Leitão
2014-06-14Removed unnecessary attribute assigment to SQLCompiler.Jorge C. Leitão
2014-06-14Fixed #22826 -- Improved internal usage of Query.setup_joins.Jorge C. Leitão
2014-05-28Fixed several typos in DjangoAlex Gaynor
2014-05-05Fixed #22466 -- ordering by reverse foreign keyAnssi Kääriäinen
Ordering by reverse foreign key was broken by custom lookups patch (commit 20bab2cf9d02a5c6477d8aac066a635986e0d3f3). Thanks to everybody who helped solving this issue. Special thanks to Trac alias takis for reporting this.
2014-05-05Fixed #22429 -- Incorrect SQL when using ~Q and FAnssi Kääriäinen
2014-04-30Fixed #19195 -- Allow explicit ordering by a relation `_id` field.Simon Charette
Thanks to chrisedgemon for the report and shaib, akaariai and timgraham for the review.
2014-04-26Fix many many typos in comments throughout the codebaseAlex Gaynor
2014-04-16Fixed #22434 -- Retain ordering on related sliced subqueries.Justin Hamade
Thanks maciej.pawlisz for the report, and charettes for the review.
2014-04-10Fixed #22343 -- Disallowed select_for_update in autocommit modeShai Berger
The ticket was originally about two failing tests, which are fixed by putting their queries in transactions. Thanks Tim Graham for the report, Aymeric Augustin for the fix, and Simon Charette, Tim Graham & Loïc Bistuer for review.
2014-03-12Flake8 correctionsShai Berger
2014-03-10Fixed #22210 -- Saving model instances to non-related fields.Daniel Pyrathon
Previously, saving a model instance to a non-related field (in particular a FloatField) would silently convert the model to an Integer (the pk) and save it. This is undesirable behaviour, and likely to cause confusion so the validatio has been hardened. Thanks to @PirosB3 for the patch and @jarshwah for the review.
2014-03-084 flake8 warning fixesAlex Gaynor