Mariusz Felisiak
81e357a7e1
Fixed #28689 -- Fixed unquoted table names in Subquery SQL when using OuterRef.
...
Regression in f48bc7c3db
.
2017-10-25 21:52:38 +02:00
Tomer Chachamu
21a3a29dc9
Fixed #28722 -- Made QuerySet.reverse() affect nulls_first/nulls_last.
2017-10-21 20:55:45 -04:00
Simon Charette
d4fb742094
Refs #28575 -- Made RelatedObjectDoesNotExist classes pickable.
...
Thanks to Rachel Tobin for the initial __qualname__ work and tests.
2017-10-18 21:43:53 -04:00
Simon Charette
0a69479b6c
Fixed outdated comment in RelatedObjectDoesNotExist.
2017-10-18 20:31:47 -04: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
k
399a8db33b
Fixed #28695 -- Allowed models to use __init_subclass__().
2017-10-13 21:29:12 -04:00
Simon Charette
9dd405973c
Corrected examples in related field descriptor docstrings.
...
Using lowercased model class names suggested that accessing the attribute
from instances of the class returned an instance of the descriptor, but
this is only the case when accessed from the model class.
2017-10-13 16:06:08 -04:00
Simon Charette
216eda103b
Refs #28575 -- Removed unnecessary code for model exception pickling.
...
Setting __qualname__ is sufficient for pickling of DoesNotExist and
and MultipleObjectsReturned to work correctly.
2017-10-13 15:45:12 -04:00
Mariusz Felisiak
4f27e475b3
Refs #28643 -- Reorganized database functions.
...
Thanks Tim Graham for the review.
2017-10-13 21:23:00 +02:00
Rachel Tobin
6c92f711ea
Refs #28575 -- Allowed pickling Model.DoesNotExist and MultipleObjectsReturned classes.
2017-10-13 09:16:09 -04:00
Paulo
a7b5ad8b19
Fixed #27846 -- Made Model.refresh_from_db() clear cached relations.
2017-10-12 17:04:10 -04:00
Mariusz Felisiak
0899d583bd
Fixed #28670 -- Added FETCH/OFFSET support on Oracle.
...
Thanks Tim Graham for the review.
2017-10-09 18:07:03 +02:00
Mariusz Felisiak
11ade8eefd
Refs #24254 -- Removed unnecessary SQL AS clause in SQLCompiler.as_sql().
...
Incorrect on Oracle.
2017-10-06 12:47:41 -04:00
Simon Charette
9d93dff333
Fixed #28665 -- Change some database exceptions to NotImplementedError per PEP 249.
2017-10-06 12:47:08 -04:00
Mariusz Felisiak
03da070f5c
Refs #28670 -- Moved LIMIT/OFFSET SQL to DatabaseOperations.limit_offset_sql().
...
Thanks Tim Graham for the review.
2017-10-04 20:24:38 +02:00
Tim Graham
a2626cb3fe
Fixed #28674 -- Removed unused check in QuerySet._batched_insert().
2017-10-03 19:56:44 -04:00
Tim Graham
51d230e00b
Fixed #28675 -- Removed always True variable in SQLInsertCompiler.execute_sql() check.
...
Unused since 7deb25b8dd
.
2017-10-03 10:32:11 -04:00
Дилян Палаузов
5d9b736fd8
Fixed #28652 -- Fixed a few comments in django/db/models/*.
2017-10-02 11:15:26 -04:00
Mariusz Felisiak
d896809a3a
Refs #23919 -- Removed unneeded float()/int() calls.
2017-10-02 08:49:26 -04:00
Simon Charette
f1b713024e
Refs #28492 -- Defined aggregates' output_field at the class level.
...
Missed in 08654a99bb
.
2017-09-29 07:44:27 -04:00
Mariusz Felisiak
2b5a511bd9
Merged hash() calls.
...
Thanks Simon Charette for the review.
2017-09-28 12:12:47 -04:00
Mads Jensen
4508fafe16
Simplified various __eq__() methods.
2017-09-28 09:18:37 -04:00
Tim Graham
cfff2af02b
Fixed #27857 -- Dropped support for Python 3.4.
2017-09-25 17:11:03 -04:00
Tim Graham
5bcca2a056
Refs #27532 -- Removed Model._meta.has_auto_field per deprecation timeline.
2017-09-22 12:51:18 -04:00
Tim Graham
4502489a46
Refs #18974 -- Removed @models.permalink() decorator per deprecation timeline.
2017-09-22 12:51:18 -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
Mariusz Felisiak
fb02ebe889
Fixed #28597 -- Fixed crash with the name of a model's autogenerated primary key in an Index's fields.
2017-09-18 14:06:00 -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
Sergey Fedoseev
8f947730ca
Removed unneeded StdDev.convert_value() and Variance.convert_value().
...
Seems unneeded since its introduction in
f59fd15c49
.
2017-09-16 15:05:31 -04:00
Sergey Fedoseev
873858009c
Simplified Count.convert_value() and RegrCount.convert_value().
2017-09-16 14:31:51 +05:00
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
Sergey Fedoseev
aadd3aeb2b
Avoided creating temporary lists for obtaining the first item.
2017-07-31 11:02:23 -04:00
Sergey Fedoseev
0f905e4b44
Removed unneeded TruncBase.arity.
...
Uneeded since its introduction in 2a4af0ea43
.
2017-07-31 13:42:12 +05:00
Sergey Fedoseev
38988f289f
Avoided creation of temporary sets.
2017-07-29 10:16:43 -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
Mariusz Felisiak
b61d5b1991
Fixed #28371 -- Fixed Cast() with CharField if the max_length argument isn't provided.
...
Thanks Tim Graham for the review.
2017-07-27 19:36:47 +02:00
Mariusz Felisiak
8e41373c81
Allowed database backends to specify data types for Cast().
...
A small refactor ahead of refs #28371 .
2017-07-26 20:26:58 -04:00
Sergey Fedoseev
d17eaa868c
Removed obsolete references to add_to_query().
...
Support for it was removed in d3f00bd570
.
2017-07-25 07:52:05 -04:00
Tom Carrick
3159ad4df6
Fixed #27970 -- Allowed QuerySet.in_bulk() to fetch on fields besides primary key.
2017-07-21 08:34:35 -04:00
Simon Charette
76236f0db2
Stopped setting BaseExpression.copied on copy().
...
Unused since its introduction in f59fd15c49
.
2017-07-21 00:23:21 -04:00
orf
7dfe03f86d
Sorted display of options in Func.__repr__().
2017-07-20 20:51:07 -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
Sergey Fedoseev
37fbeb99f9
Removed unused models.DecimalField._format().
...
Unused since b3b71a0922
.
2017-07-20 09:00:18 -04:00
Sergey Fedoseev
33d453b2a7
Removed unneeded hasattr(self.rhs, 'get_compiler') checks in db/models/lookups.py.
...
Unneeded since 9ae4362bec
.
2017-07-18 08:24:01 -04:00
Mariusz Felisiak
776cee9749
Fixed #28391 -- Fixed Cast() with CharField and max_length on MySQL.
...
Thanks Tim Graham for the review.
2017-07-17 21:12:27 +02:00
Mariusz Felisiak
e5835a7cb8
Allowed Func subclasses to add kwargs to __repr__().
...
Thanks Tim Graham for the review.
2017-07-17 10:07:19 -04:00
Florian Apolloner
adab280cef
Fixed #28399 -- Fixed QuerySet.count() for union(), difference(), and intersection() queries.
2017-07-15 08:20:12 -04:00
Sergey Fedoseev
504ce3914f
Fixed #28394 -- Allowed setting BaseExpression.output_field (renamed from _output_field).
2017-07-14 21:56:01 -04:00
Sergey Fedoseev
29769a9942
Fixed #28382 -- Prevented BaseExpression._output_field from being set if _resolve_output_field() fails.
2017-07-11 08:29:08 -04:00
Mariusz Felisiak
ca74e56350
Fixed #28378 -- Fixed union() and difference() when combining with a queryset raising EmptyResultSet.
...
Thanks Jon Dufresne for the report. Thanks Tim Graham and Simon Charette
for the reviews.
2017-07-10 20:40:08 +02:00