Commit graph

213 commits

Author SHA1 Message Date
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
Sergey Fedoseev
c9088cfc7b Fixed some assertTrue() that were intended to be assertEqual(). 2018-07-09 11:13:40 -04:00
Carlton Gibson
c4f099de1d
Refs #29451 -- Used quote_name for column names in tests.
Regression in a253a580e6
2018-06-06 16:13:25 +02:00
Tom Forbes
a253a580e6 Refs #29451 -- Quoted MySQL column names in tests. 2018-06-05 12:13:29 +02:00
Mariusz Felisiak
362813d628
Fixed hanging indentation in various code. 2018-03-16 10:54:34 +01:00
Simon Charette
d61fe24601 Fixed #29108 -- Fixed crash in aggregation of distinct+ordered+sliced querysets.
Regression in 4acae21846.
Thanks Stephen Brooks for the report.
2018-02-08 09:59:25 -05:00
Mariusz Felisiak
34b52f8572
Renamed the allow_sliced_subqueries database feature to allow_sliced_subqueries_with_in.
After 0899d583bd this database feature is
false only on MySQL which doesn't support sliced subqueries only with
IN/ALL/ANY/SOME.
2018-02-07 08:27:47 +01:00
Mariusz Felisiak
aad1833fa0
Refs #20487 -- Added test for querying mixed case fields with common related model.
Thanks Shai Berger for the review.
2018-01-20 20:48:01 +01:00
Mariusz Felisiak
83a36ac49a
Removed unnecessary trailing commas and spaces in various code. 2017-12-28 21:07:29 +01:00
Sergey Fedoseev
f3c9562143 Fixed #15648 -- Allowed QuerySet.values_list() to return a namedtuple. 2017-09-06 15:32:32 -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
Mads Jensen
a51c4de194 Used assertRaisesMessage() to test Django's error messages. 2017-07-29 19:07:23 -04:00
Anssi Kääriäinen
f7f5edd50d Removed obsolete Query.tables attribute.
Obsolete since Query.alias_map became an OrderedDict (refs #26522).
2017-06-29 11:09:11 -04:00
Matthias Erll
eee34ef64c Fixed #22550 -- Prohibited QuerySet.last()/reverse() after slicing. 2017-05-31 19:34:56 -04:00
Jon Dufresne
2a5708a304 Fixed a test's dict_keys/list comparison that always evaluated as False. 2017-05-27 18:37:16 -04:00
Simon Charette
4acae21846 Fixed #24254 -- Fixed queries using the __in lookup with querysets using distinct() and order_by().
Thanks Tim for the review.
2017-05-11 21:50:07 -04:00
Simon Charette
8ef35468b6 Fixed #28101 -- Fixed a regression with nested __in subquery lookups and to_field.
Thanks Kristian Klette for the report and Tim for the help.
2017-04-23 00:21:27 -04:00
Mariusz Felisiak
f42c7cc87b Refs #21160 -- Replaced DatabaseFeatures.supports_1000_query_parameters by a DatabaseFeatures.max_query_params. 2017-03-24 18:37:03 +01:00
Bo Marchman
9bbb6e2d25 Fixed #26522 -- Fixed a nondeterministic AssertionError in QuerySet combining.
Thanks Andrew Brown for the test case.
2017-03-06 13:40:17 -05:00
Vytis Banaitis
3dcc351691 Refs #23919 -- Used yield from. 2017-02-23 20:06:01 -05:00
François Freitag
e124d2da94 Fixed #26551 -- Fixed negated Q() queries that span relations.
Prevented queries from reusing trimmed joins.
2017-02-09 11:20:33 -05:00
Tim Graham
29f607927f Fixed spelling of "nonexistent". 2017-02-03 08:01:45 -05:00
Vytis Banaitis
d1bab24e01 Refs #23919, #27778 -- Removed obsolete mentions of unicode. 2017-01-26 08:19:27 -05:00
Simon Charette
cecc079168 Refs #23919 -- Stopped inheriting from object to define new style classes. 2017-01-19 08:39:46 +01:00
Claude Paroz
2b281cc35e Refs #23919 -- Removed most of remaining six usage
Thanks Tim Graham for the review.
2017-01-18 21:33:28 +01:00
Claude Paroz
c716fe8782 Refs #23919 -- Removed six.PY2/PY3 usage
Thanks Tim Graham for the review.
2017-01-18 16:21:28 +01:00
Claude Paroz
d7b9aaa366 Refs #23919 -- Removed encoding preambles and future imports 2017-01-18 09:55:19 +01:00
Josh Smeaton
bcce6bb7c7 Changed a test to be consistent when run in parallel.
This particular test was sometimes failing when running the test suite
in parallel. The `id` was different depending on the order the tests
were run. The test was incorrectly comparing model primary keys rather
than ensuring they didn't change.
2017-01-14 15:41:49 +11:00
Ramin Farajpour Cami
0a63ef3f61 Fixed #27463 -- Fixed E741 flake8 warnings. 2016-11-14 17:40:28 -05:00
za
321e94fa41 Refs #27392 -- Removed "Tests that", "Ensures that", etc. from test docstrings. 2016-11-10 21:30:21 -05:00
Tim Graham
b679a3cdb1 Tested QuerySet compatibility check.
cdfdcf4b70 missed this test.
2016-10-14 08:51:04 -04:00
Tim Graham
4cfccc713a Tested invalid QuerySet.order_by() arguments. 2016-10-13 21:49:19 -04:00
Tim Graham
0627858ada Fixed a couple ordering dependent tests on Oracle broken by refs #27203. 2016-09-13 13:57:10 -04:00
Mads Jensen
0c1f71635f Fixed #27203 -- Replaced assertQuerysetEqual(..., lambda o: o) with assertSequenceEqual(). 2016-09-13 10:07:37 -04:00
Chris Lamb
97513269d7 Refs #26983 -- Added test for isnull lookup to CharField with primary_key=True. 2016-08-17 21:08:15 -04:00
Johannes Dollinger
46509cf13d Moved EmpytResultSet to django.core.exceptions.
This removes the need for some inner imports.
2016-08-08 10:43:34 -04:00
Claude Paroz
272eccf7ff Fixed #26983 -- Fixed isnull filtering on ForeignKey with to_field
Thanks weidwonder for the report.
2016-08-04 16:05:21 +02:00
Simon Charette
082c52dbed Refs #25774, #26348 -- Allowed Trunc functions to operate with time fields.
Thanks Josh for the amazing testing setup and Tim for the review.
2016-07-08 12:35:34 -04:00
Tim Graham
c9ae09addf Replaced use of TestCase.fail() with assertRaises().
Also removed try/except/fail antipattern that hides exceptions.
2016-06-28 11:21:26 -04:00
Jon Dufresne
4f336f6652 Fixed #26747 -- Used more specific assertions in the Django test suite. 2016-06-16 14:19:18 -04:00
Josh Smeaton
2a4af0ea43 Fixed #25774 -- Refactor datetime expressions into public API 2016-05-18 20:14:58 +10:00
Claude Paroz
388bb5bd9a Fixed #22936 -- Obsoleted Field.get_prep_lookup()/get_db_prep_lookup()
Thanks Tim Graham for completing the initial patch.
2016-05-04 20:02:01 +02:00
Claude Paroz
188883048e Fixed wrong field data type in queries test 2016-04-23 20:26:52 +02:00
Tim Graham
92053acbb9 Fixed E128 flake8 warnings in tests/. 2016-04-08 10:12:33 -04:00
Tim Graham
2cd2d18851 Fixed W503 flake8 warnings. 2016-04-04 17:14:26 -04:00
Tim Graham
1c8c0837c6 Sorted single letter imports per the latest version of isort. 2016-03-28 11:45:31 -04:00
Jason Parrott
4c1c93032f Fixed #26373 -- Fixed reverse lookup crash with a ForeignKey to_field in a subquery. 2016-03-19 17:54:29 -04:00
Anssi Kääriäinen
46ecfb9b3a Fixed #26196 -- Made sure __in lookups use to_field as default.
Thanks Simon Charette for the test.
2016-02-11 11:09:08 -05:00
Hasan
04de436932 Made multiline assertRaises* conform to flake8's E128 rule. 2016-02-04 19:14:10 -05:00
Hasan
26ad01719d Refs #26022 -- Replaced six.assertRaisesRegex with assertRaisesMessage as appropriate. 2016-01-29 13:37:33 -05:00
Hasan
253adc2b8a Refs #26022 -- Used context manager version of assertRaisesMessage in tests. 2016-01-29 13:03:39 -05:00
Hasan
3d0dcd7f5a Refs #26022 -- Used context manager version of assertRaises in tests. 2016-01-29 12:32:18 -05:00
Sergey Fedoseev
69b69f6d60 Fixed #25894 -- Fixed evaluation of zero-length slices of QuerySet.values(). 2015-12-15 07:29:35 -05:00
Josh Soref
93452a70e8 Fixed many spelling mistakes in code, comments, and docs. 2015-12-03 12:48:24 -05:00
Tim Graham
9c5e272860 Fixed #25550 -- Deprecated direct assignment to the reverse side of a related set. 2015-10-27 07:57:15 -04:00
Dražen Odobašić
b1e33ceced Fixed #23395 -- Limited line lengths to 119 characters. 2015-09-12 11:40:50 -04:00
Renato Oliveira
e3720b990a Fixed #25382 -- Removed obsolete references to DateQuerySet. 2015-09-11 12:16:06 -04:00
Tim Graham
2dc9ec5616 Fixed #24525 -- Fixed AssertionError in some complex queries.
Thanks Anssi Kääriäinen for providing the solution.
2015-09-05 07:51:17 -04:00
Tim Graham
233b46f931 Fixed #19263 -- Fixed crash when filtering using __in and an empty QuerySet.
Thanks Marcin Biernat for the initial patch and tests.
2015-09-04 07:44:36 -04:00
Maxime Lorant
5153a3bfdc Fixed #25331 -- Removed trailing blank lines in docstrings. 2015-08-31 17:37:21 -04:00
Tim Graham
75b5de8d5f Refs #23266 -- Fixed ticket number reference in a queries test. 2015-08-17 17:37:07 -04:00
Simon Charette
12f91f6ebd Used skipUnlessDBFeature where appropriate. 2015-08-08 11:27:06 -04:00
Anssi Kääriäinen
baa732ac9f Refs #23622 -- Added tests to ensure ordering is retained for distinct on fields subqueries.
The ticket was already fixed by
b68212f539.

Thanks to Beauhurst for commissioning the work on this ticket.
2015-07-20 10:20:21 -04:00
Anssi Kääriäinen
6a9a9e50f2 Fixed test with incorrect assumption about pk values.
The test results were dependent on the order in which the
tests were run.
2015-07-20 10:20:21 -04:00
Anssi Kääriäinen
76ac07a909 Refs #24090 -- Added a test for multi-table inheritance + subqueries.
Ticket #24090 was already fixed by
b68212f539, this commit adds tests to
verify this is indeed the case.

Thanks to Beauhurst for commissioning the work on this ticket.
2015-07-13 13:13:54 -04:00
Simon Charette
11e6bf9bdf Fixed a CaptureQueriesContext usage in queries tests. 2015-07-09 16:00:53 -04:00
Simon Charette
3b0cdb1410 Added a regression test for get() ordering clearing. 2015-07-09 16:00:52 -04:00
Tim Graham
47fcbe506c Fixed flake8 warnings on Python 3. 2015-06-15 11:27:09 -04:00
Aric Coady
9c2d8cde77 Fixed #24719 -- Restored the ability to use interators as queryset related object filters. 2015-04-28 10:51:27 -04:00
Anssi Kääriäinen
355c5edd93 Fixed #24605 -- Fixed incorrect reference to alias in subquery.
Thanks to charettes and priidukull for investigating the issue, and to
kurevin for the report.
2015-04-16 09:22:00 -04:00
Alex Wilson
99d40c6f65 Fixed #24277 -- Added exception when dict used in QuerySet filtering 2015-04-14 13:28:53 -04:00
Anssi Kääriäinen
b68212f539 Refs #24267 -- Implemented lookups for related fields
Previously related fields didn't implement get_lookup, instead
related fields were treated specially. This commit removed some of
the special handling. In particular, related fields return Lookup
instances now, too.

Other notable changes in this commit is removal of support for
annotations in names_to_path().
2015-03-25 08:05:22 -04:00
Michael Blatherwick
00e667728b Fixed #23697 -- Improved ForeignObject.get_lookup_constraint() error message. 2015-03-23 10:31:57 -04:00
Tim Graham
0ed7d15563 Sorted imports with isort; refs #23860. 2015-02-06 08:16:28 -05:00
Anssi Kääriäinen
20b74b10be Added a test for refs #24279
This issue was fixed in afe0bb7b13.
2015-02-06 07:43:59 -05:00
Anssi Kääriäinen
7145c8a62a Removed EverythingNode
At the same time, made sure that empty nodes in where clause match
everything.
2015-02-04 09:26:40 -05:00
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
Adam Taylor
039465a6a7 Fixed typos in code comments. 2015-01-20 12:18:03 -05:00
Tim Graham
2cd00424c4 Removed support for callable QuerySet arguments per deprecation timeline; refs #11629. 2015-01-18 14:01:25 -05: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
Tim Graham
837fc2d8cd Fixed a queries test on Python 2 broken after importing six.moves.range(). 2014-12-31 09:50:47 -05:00
Tim Graham
63dee96cc7 Fixed test from refs #23758. 2014-12-31 09:19: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
Diego Guimarães
222699d224 Refs #23947 -- Fixed queries test execution order dependency.
Specify an id to avoid conflict with objects created in setUpTestData.
2014-12-15 12:25:55 -05:00
Thomas Chaumeny
26dd518b5c Refactored some tests to take advantage of refs #20392. 2014-12-03 10:37:12 -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
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
Josh Smeaton
f61256da3a Renamed qn to compiler 2014-11-16 13:19:34 +01:00
Berker Peksag
f7969b0920 Fixed #23620 -- Used more specific assertions in the Django test suite. 2014-11-03 11:56:37 -05: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
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
Rajiv Makhijani
f0b358880a Fixed #23259 -- Corrected insertion order of extra() select_params
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 2f35c6f10f.
2014-08-11 09:33:18 +03: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
zsoldosp
7e2c804c94 Split tests.basic.ModelTests in several tests; refs #18586. 2014-06-25 15:39:56 -04:00
Alex Gaynor
1dcc603eff Fixed several typos in Django 2014-05-28 17:39:14 -07:00