Laurent Tramoy
df88f24b1f
[3.1.x] Fixed #31614 -- Fixed aliases ordering by OrderBy() expressions of combined queryset.
...
Backport of 2aac176e86
from master
2020-05-26 23:35:34 +02:00
sage
6789ded0a6
Fixed #12990 , Refs #27694 -- Added JSONField model field.
...
Thanks to Adam Johnson, Carlton Gibson, Mariusz Felisiak, and Raphael
Michel for mentoring this Google Summer of Code 2019 project and
everyone else who helped with the patch.
Special thanks to Mads Jensen, Nick Pope, and Simon Charette for
extensive reviews.
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2020-05-08 07:23:31 +02:00
Nick Pope
8f10ceaa90
Changed `'%s' % value` pattern to `str(value)`.
2020-05-04 08:27:18 +02:00
Simon Charette
513948735b
Fixed #31426 -- Added proper field validation to QuerySet.order_by().
...
Resolve the field reference instead of using fragile regex based string
reference validation.
2020-04-06 10:19:49 +02:00
Simon Charette
98ea4f0f46
Refs #7098 -- Deprecated passing raw column aliases to order_by().
...
Now that order_by() has expression support passing RawSQL() can achieve
the same result.
This was also already supported through QuerySet.extra(order_by) for
years but this API is more or less deprecated at this point.
2020-04-06 10:01:02 +02:00
Nick Pope
335c9c94ac
Simplified imports from django.db and django.contrib.gis.db.
2020-02-04 13:20:06 +01:00
Hasan Ramezani
eef3ea847e
Fixed #31148 -- Added error messages on update()/delete() operations following union(), intersection(), and difference().
2020-01-09 12:20:54 +01:00
Simon Charette
f97a6123c0
Refs #25367 -- Made Query.build_filter() raise TypeError on non-conditional expressions.
2019-11-21 11:56:35 +01:00
Simon Charette
e9a0e1d4f6
Fixed #30484 -- Added conditional expressions support to CheckConstraint.
2019-11-21 11:56:35 +01:00
Simon Charette
306b687520
Refs #11964 -- Removed SimpleCol in favor of Query(alias_cols).
...
This prevent having to pass simple_col through multiple function calls
by defining whether or not references should be resolved with aliases
at the Query level.
2019-11-21 11:56:35 +01:00
Jon Dufresne
e649d691f8
Removed unnecessary parentheses in various code.
2019-11-18 15:25:59 +01:00
Simon Charette
11e327a3ff
Fixed #30988 -- Deprecated the InvalidQuery exception.
...
It was barely documented without pointers at its defining location and
was abused to prevent misuse of the QuerySet field deferring feature.
2019-11-18 14:06:51 +01:00
George Marshall
8be79984dc
Fixed #30971 -- Prevented Query.resolve_lookup_value() from coercing list values to tuples.
...
Regression in 8a281aa7fe
.
2019-11-13 08:27:26 +01:00
Nick Pope
55df1750be
Refs #30897 -- Added support for ANALYZE option to Queryset.explain() on MariaDB and MySQL 8.0.18+.
2019-10-24 15:13:26 +02:00
Nick Pope
742961332e
Refs #30897 -- Added support for TREE format to Queryset.explain() on MySQL 8.0.16+.
2019-10-24 15:13:23 +02:00
Nick Pope
6e9189c080
Refs #30897 -- Added test for SETTINGS option to Queryset.explain() on PostgreSQL 12+.
2019-10-23 14:07:18 +02:00
Nick Pope
a5c5ae7d91
Refs #28574 -- Used feature flag for PostgreSQL version check.
2019-10-23 14:07:13 +02:00
Mariusz Felisiak
01104368ff
Refs #29444 -- Removed redundant DatabaseFeatures.can_return_multiple_columns_from_insert.
...
Unnecessary since b31e63879e
.
2019-09-24 10:37:22 +02:00
Simon Charette
37f8f29377
Fixed #30796 -- Prevented select_related() from mutating a queryset on chaining.
...
Thanks Darren Maki for the report.
2019-09-24 09:17:45 +02:00
Mariusz Felisiak
0ddb4ebf7b
Refs #14357 -- Made Meta.ordering not affect GROUP BY queries.
...
Per deprecation timeline.
2019-09-10 12:01:00 +02:00
Johannes Hoppe
7254f1138d
Refs #29444 -- Allowed returning multiple fields from INSERT statements on PostgreSQL.
...
Thanks Florian Apolloner, Tim Graham, Simon Charette, Nick Pope, and
Mariusz Felisiak for reviews.
2019-09-09 10:51:14 +02:00
Simon Charette
13a8884a08
Fixed #30739 -- Fixed exclusion of multi-valued lookup against outer rhs.
...
OuterRef right hand sides have to be nested, just like F rhs have to,
during the subquery pushdown split_exclude performs to ensure they are
resolved against the outer query aliases.
2019-09-02 10:52:36 +02:00
Diederik van der Boor
25f21bd237
Fixed #28393 -- Added helpful error messages for invalid AutoField/FloatField/IntegerField values.
...
Co-authored-by: Diederik van der Boor <vdboor@edoburu.nl>
Co-authored-by: Nick Pope <nick.pope@flightdataservices.com>
2019-08-05 08:41:29 +02:00
Hasan Ramezani
1853383969
Fixed #27995 -- Added error messages on unsupported operations following union(), intersection(), and difference().
2019-07-25 12:39:55 +02:00
Jon Dufresne
d89053585e
Improved error message when index in __getitem__() is invalid.
2019-07-23 20:12:08 +02:00
Simon Charette
ee6e93ec87
Fixed #30628 -- Adjusted expression identity to differentiate bound fields.
...
Expressions referring to different bound fields should not be
considered equal.
Thanks Julien Enselme for the detailed report.
Regression in bc7e288ca9
.
2019-07-10 07:46:08 +02:00
can
325d5d6445
Fixed #30477 -- Made reverse lookup use Field.get_db_prep_value() from the target field.
2019-06-25 10:20:33 +02:00
can
2cbd3967e0
Fixed #29834 -- Fixed column mismatch crash with QuerySet.values()/values_list() and order_by() on combined querysets.
2019-06-19 12:11:28 +02:00
Mariusz Felisiak
14d026cccb
Fixed #30572 -- Prevented values()/values_list() on combined queryset from mutating the list of columns in querysets.
2019-06-19 10:44:53 +02:00
can
719b746620
Fixed #30412 -- Fixed crash when adding check constraints with OR'ed condition on Oracle and SQLite.
2019-04-30 12:32:27 +02:00
Simon Charette
0cb4062482
Refs #23758 -- Used RecursionError instead of RuntimeError to raise nested subquery errors.
...
RecursionError was introduced in Python 3.5 and subclasses RuntimeError.
2019-04-15 15:20:41 +02:00
Simon Charette
c0969ee227
Refs #27149 -- Based recursive nested subquery detection on sys.getrecursionlimit().
...
This makes sure the test_avoid_infinite_loop_on_too_many_subqueries test
doesn't fail on systems with a non-default recursion limit.
2019-04-15 15:20:41 +02:00
can
96446c7152
Refs #29697 -- Added test for excluding m2m intermediary table.
2019-03-30 14:46:59 +01:00
Mariusz Felisiak
9ab1d55596
Refs #18726 -- Added test for excluding circular related fields with F() expression.
...
Fixed in f19a4945e1
.
2019-03-28 07:10:54 +01: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
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
Sergey Fedoseev
1933e56eca
Removed uneeded generator expressions and list comprehensions.
2019-02-09 09:18:48 -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
Sergey Fedoseev
b86bb47818
Fixed #30093 -- Fixed ordering of combined queryset ordered by F expressions.
2019-01-14 10:28:11 -05:00
Mariusz Felisiak
f9a33e3c3f
Fixed #29932 -- Fixed combining compound queries with sub-compound queries on SQLite and Oracle.
2018-12-06 15:31:33 -05:00
Tim Graham
193c109327
Switched TestCase to SimpleTestCase where possible in Django's tests.
2018-11-27 08:58:44 -05:00
Tom Forbes
31408446b3
Fixed #29974 -- Fixed non-truthy primary key values for QuerySet.bulk_update().
2018-11-21 22:58:43 -05:00
Ian Foote
e1fc07c047
Fixed #17930 -- Allowed ORing (|) with sliced QuerySets.
2018-11-15 09:43:58 -05:00
Mariusz Felisiak
024abe5b82
Fixed #29630 -- Fixed crash of sliced queries with multiple columns with the same name on Oracle 12.1.
...
Regression in 0899d583bd
.
Thanks Tim Graham for the review and Jani Tiainen for help.
2018-09-26 20:18:48 +02:00
Tom Forbes
9cbdb44014
Fixed #23646 -- Added QuerySet.bulk_update() to efficiently update many models.
2018-09-18 16:14:44 -04:00
Ramiro Morales
1b1f64ee5a
Refs #14357 -- Deprecated Meta.ordering affecting GROUP BY queries.
...
Thanks Ramiro Morales for contributing to the patch.
2018-09-13 12:29:48 -04:00
Mariusz Felisiak
39461a83c3
Fixed #29694 -- Fixed column mismatch crash with QuerySet.values() or values_list() after combining querysets with extra() with union(), difference(), or intersection().
...
Regression in 0b66c3b442
.
2018-08-29 10:00:15 +02:00
Srinivas Reddy Thatiparthy (శ్రీనివాస్ రెడ్డి తాటిపర్తి)
233c70f047
Fixed #29658 -- Registered model lookups in tests with a context manager.
2018-08-21 12:17:46 -04:00
Andrew Brown
55810d94d0
Refs #29563 -- Fixed SQLCompiler.execute_sql() to respect DatabaseFeatures.can_use_chunked_reads.
2018-07-25 18:08:57 -04:00
Josh Schneier
4d48ddd8f9
Fixed #28917 -- Prevented Paginator's unordered warning on EmptyQuerySet.
...
Thanks carltongibson for the idea and weijunji for the initial patch.
2018-07-16 14:28:47 -04:00