Commit Graph

2180 Commits

Author SHA1 Message Date
Tim Graham cb362a6750 Removed unnecessary check in SQLCompiler.get_related_selections(). 2017-09-15 08:37:46 -04:00
Simon Charette 08654a99bb Fixed #28492 -- Defined default output_field of expressions at the class level.
This wasn't possible when settings were accessed during Field initialization
time as our test suite setup script was triggering imports of expressions
before settings were configured.
2017-09-11 12:22:39 -04:00
Simon Charette 13be453080 Refs #28492 -- Stopped accessing settings at Field.db_tablespace initialization.
Deferring accesses to settings allows database fields to be initialized before
settings are loaded.
2017-09-11 12:21:49 -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
Sergey Fedoseev 8b2515a450 Removed unneeded __init__() methods. 2017-09-07 08:10:49 -04:00
Sergey Fedoseev f3c9562143 Fixed #15648 -- Allowed QuerySet.values_list() to return a namedtuple. 2017-09-06 15:32:32 -04:00
Sergey Fedoseev 5b1c389603 Refs #23919 -- Replaced usage of django.utils.functional.curry() with functools.partial()/partialmethod(). 2017-09-06 13:11:18 -04:00
Sergey Fedoseev 379caf397e Replaced deque() with list() in prefetch_related_objects().
deque() isn't needed since algorithm doesn't require FIFO.
2017-09-06 08:13:18 -04:00
François Freitag ad4a8acdb5 Fixed #11557 -- Added support for a list of fields in Meta.get_latest_by and QuerySet.earliest()/latest(). 2017-09-05 20:14:54 -04:00
Dima Kudosh 093fd479d6 Fixed #28335 -- Allowed query expressions in Meta.ordering. 2017-09-05 19:10:20 -04:00
Boris Burkov d67cce4da8 Fixed typo in django/db/models/query.py docstring. 2017-09-05 15:28:37 -04:00
Srinivas Reddy Thatiparthy 0d3f567a7a Corrected YearComparisonLookup.get_bound() signature. 2017-09-04 10:17:51 -04:00
Mariusz Felisiak fe0184b412 Updated EmpytResultSet import not to use the alias. 2017-09-03 11:06:06 -04:00
Mariusz Felisiak 2470756de0 Moved select_sql in SQLCompiler.get_extra_select() to improve performance. 2017-09-02 16:39:51 -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
Tim Graham e5bd585c6e Fixed #28543 -- Prevented ManyToManyField.value_from_object() from being lazy.
Previously, it was a QuerySet which could reevaluate to a new value if the
model's data changes. This is inconsistent with other Field.value_from_object()
methods.

This allows reverting the fix in the admin for refs #27998.
2017-08-31 09:34:44 -04:00
Sergey Fedoseev ab3e3658cc Simplified model's Options._get_fields() a bit. 2017-08-31 07:11:30 -04:00
Sergey Fedoseev f2b93b509c Removed unneeded iter() calls.
A few of these were unnecessarily added in 2b281cc35e.
2017-08-23 16:48:29 -04:00
Sergey Fedoseev dca67bb2c2 Refs #28459 -- Improved performance of SQLCompiler.apply_converters(). 2017-08-23 16:26:24 -04:00
Sergey Fedoseev 4dfd6b88d5 Refs #28459 -- Improved performance of FlatValuesListIterable. 2017-08-22 11:26:07 -04:00
Paulo fea9cb46aa Fixed #28375 -- Fixed KeyError crash on reverse prefetch of a model with OneToOneField primary key to a non-pk field. 2017-08-21 16:14:13 -04:00
Sergey Fedoseev 41640760df Simplified generation of result in Query.get_aggregation(). 2017-08-15 09:59:31 -04:00
Sergey Fedoseev 8a99a7d2d5 Simplified RelatedPopulator.populate(). 2017-08-15 09:48:07 -04:00
Sergey Fedoseev 6542999c54 Removed redundant condition in QuerySet.resolve_expression(). 2017-08-15 09:44:27 -04:00
Sergey Fedoseev 6141040813 Avoided creation of temporary set in Query.append_annotation_mask(). 2017-08-15 09:43:47 -04:00
Tom b78d100fa6 Fixed #27849 -- Added filtering support to aggregates. 2017-08-12 17:58:28 -04:00
Sergey Fedoseev 47ccefeada Refs #28459 -- Improved performance of BaseExpression.convert_value(). 2017-08-11 18:34:50 -04:00
Sergey Fedoseev 5cc7462067 Refs #28459 -- Optimized ModelState instantiation. 2017-08-11 15:41:04 -04:00
Nerl~ 97cb3bd16d Fixed #28456 -- Allowed customizing Model pickling by overriding __getstate__(). 2017-08-11 15:27:25 -04:00
Sergey Fedoseev 0ec134e340 Simplified calculation of used joins in Query.build_filter(). 2017-08-11 10:46:11 -04:00
Sergey Fedoseev 9ecf280394 Removed obsolete DecimalComparisonLookup.
Unneeded since c3c6c92d76.
2017-08-11 09:32:32 -04:00
Sergey Fedoseev f3e350d631 Replaced typecast_decimal() with decimal.Decimal(). 2017-08-11 09:22:40 -04:00
Sergey Fedoseev 7fa92daa99 Removed outdated comment in Query.build_filter(). 2017-08-11 09:19:19 -04:00
Sergey Fedoseev c3c6c92d76 Refs #18247 -- Fixed filtering on CombinedExpression(output_field=DecimalField()) annotation on SQLite. 2017-08-10 17:42:30 -04:00
Paulo bfb746f983 Refs #16043 -- Refactored internal fields value cache.
* Removed all hardcoded logic for _{fieldname}_cache.
* Added an internal API for interacting with the field values cache.

Thanks carljm and MarkusH for support.
2017-08-10 12:06:02 -04:00
Sergey Fedoseev b8731c3fff Refs #28459 -- Improved performance of sql.compiler.cursor_iter(). 2017-08-08 14:07:03 -04:00
Claude Paroz 831358f23d Fixed #28465 -- Unified index SQL creation in DatabaseSchemaEditor
Thanks Tim Graham for the review.
2017-08-08 17:37:43 +02:00
Sergey Fedoseev fb0bdff981 Refs #28459 -- Improved performance of ValuesIterable. 2017-08-08 11:02:59 +05:00
Sergey Fedoseev ba1d82df63 Refs #28459 -- Improved performance of select_related() when model is prefetched from its parent. 2017-08-07 18:55:13 -04:00
Sergey Fedoseev ca46f4688c Refs #28459 -- Improved performance of SQLCompiler.results_iter(). 2017-08-07 17:06:15 -04:00
Mariusz Felisiak 7724879b52 Removed unused _combine() node argument from various combinable classes.
Unused since f59fd15c49 (Combinable) and
since its introduction in 2d877da855
(SearchVectorCombinable/SearchQueryCombinable/SearchQuery).
2017-08-02 21:21:32 -04:00
Sergey Fedoseev 78f7f68021 Refs #28459 -- Improved performance of Model.from_db() when fields are deferred. 2017-08-02 09:16:36 -04:00
Sergey Fedoseev 7bd9639406 Simplified check that pk is fetched in RawQuerySet.__iter__(). 2017-08-02 08:56:16 -04:00
Sergey Fedoseev 2d136ede8a Fixed #28459 -- Improved performance of ValuesListIterable. 2017-08-01 14:44:02 -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 62dee1483d Refs #28370 -- Moved db converters deprecation warning to improve performance. 2017-08-01 08:05:32 -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
Anssi Kääriäinen 66933a6619 Refs #20880 -- Removed non-cloning logic from QuerySet._clone(). 2017-07-31 13:57:45 -04:00
Sergey Fedoseev 0baea920c8 Fixed #28453 -- Made __exact=None lookup use transforms. 2017-07-31 13:31:04 -04:00