summaryrefslogtreecommitdiff
path: root/tests/queries/tests.py
AgeCommit message (Collapse)Author
2020-11-06Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly.Hasan Ramezani
This also replaces assertQuerysetEqual() to assertSequenceEqual()/assertCountEqual() where appropriate. Co-authored-by: Peter Inglesby <peter.inglesby@gmail.com> Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2020-10-28Fixed #32143 -- Used EXISTS to exclude multi-valued relationships.Simon Charette
As mentioned in the pre-existing split_exclude() docstring EXISTS is easier to optimize for query planers and circumvents the IN (NULL) handling issue.
2020-10-27Removed an obsolete query test that assumes serial pks.Tim Graham
The code from the original fix (922aba3def68e57c405a0e50d353a790af85b00a) was removed in 419de7b00daabf5e9be064198d370cdbf19b5f2d.
2020-09-16Fixed #31843 -- Fixed pickling named values from QuerySet.values_list().Kwist
2020-09-14Fixed #31990 -- Fixed QuerySet.ordered for GROUP BY queries on models with ↵Mariusz Felisiak
Meta.ordering. Regression in 0ddb4ebf7bfcc4730c80a772dd146a49ef6895f6. Thanks Julien Dutriaux for the report.
2020-07-29Fixed #31783 -- Fixed crash when filtering againts "negate" field.Hasan Ramezani
Thanks Simon Charette for the initial patch.
2020-07-06Fixed #23797 -- Fixed QuerySet.exclude() when rhs is a nullable column.Jacob Walls
2020-06-08Fixed #31664 -- Reallowed using non-expressions having filterable attribute ↵Nicolas Baccelli
as rhs in queryset filters. Regression in 4edad1ddf6203326e0be4bdb105beecb0fe454c4.
2020-05-15Refs #31395 -- Relied on setUpTestData() test data isolation in various tests.Simon Charette
2020-05-15Refs #13227 -- Adjusted a test to avoid making a shared test model unpickable.Simon Charette
This allowed the Note model to be used in setUpTestData() which requires assigned model instances to be copy.deepcopy()'able.
2020-04-06Fixed #31426 -- Added proper field validation to QuerySet.order_by().Simon Charette
Resolve the field reference instead of using fragile regex based string reference validation.
2020-04-06Refs #7098 -- Deprecated passing raw column aliases to order_by().Simon Charette
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.
2019-11-18Removed unnecessary parentheses in various code.Jon Dufresne
2019-09-02Fixed #30739 -- Fixed exclusion of multi-valued lookup against outer rhs.Simon Charette
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-08-05Fixed #28393 -- Added helpful error messages for invalid ↵Diederik van der Boor
AutoField/FloatField/IntegerField values. Co-authored-by: Diederik van der Boor <vdboor@edoburu.nl> Co-authored-by: Nick Pope <nick.pope@flightdataservices.com>
2019-07-23Improved error message when index in __getitem__() is invalid.Jon Dufresne
2019-07-10Fixed #30628 -- Adjusted expression identity to differentiate bound fields.Simon Charette
Expressions referring to different bound fields should not be considered equal. Thanks Julien Enselme for the detailed report. Regression in bc7e288ca9554ac1a0a19941302dea19df1acd21.
2019-06-25Fixed #30477 -- Made reverse lookup use Field.get_db_prep_value() from the ↵can
target field.
2019-04-15Refs #23758 -- Used RecursionError instead of RuntimeError to raise nested ↵Simon Charette
subquery errors. RecursionError was introduced in Python 3.5 and subclasses RuntimeError.
2019-04-15Refs #27149 -- Based recursive nested subquery detection on ↵Simon Charette
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-03-30Refs #29697 -- Added test for excluding m2m intermediary table.can
2019-03-28Refs #18726 -- Added test for excluding circular related fields with F() ↵Mariusz Felisiak
expression. Fixed in f19a4945e1191e1696f1ad8e6cdc6f939c702728.
2019-03-23Fixed #21703 -- Fixed a crash when excluding a related field with a F().Simon Charette
2019-03-21Refs #27149 -- Moved subquery expression resolving to Query.Simon Charette
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-02-09Removed uneeded generator expressions and list comprehensions.Sergey Fedoseev
2019-02-06Fixed #30159 -- Removed unneeded use of OrderedDict.Nick Pope
Dicts preserve order since Python 3.6.
2018-11-27Switched TestCase to SimpleTestCase where possible in Django's tests.Tim Graham
2018-11-15Fixed #17930 -- Allowed ORing (|) with sliced QuerySets.Ian Foote
2018-09-26Fixed #29630 -- Fixed crash of sliced queries with multiple columns with the ↵Mariusz Felisiak
same name on Oracle 12.1. Regression in 0899d583bdb140910698d00d17f5f1abc8774b07. Thanks Tim Graham for the review and Jani Tiainen for help.
2018-09-13Refs #14357 -- Deprecated Meta.ordering affecting GROUP BY queries.Ramiro Morales
Thanks Ramiro Morales for contributing to the patch.
2018-07-16Fixed #28917 -- Prevented Paginator's unordered warning on EmptyQuerySet.Josh Schneier
Thanks carltongibson for the idea and weijunji for the initial patch.
2018-07-09Fixed some assertTrue() that were intended to be assertEqual().Sergey Fedoseev
2018-06-06Refs #29451 -- Used quote_name for column names in tests.Carlton Gibson
Regression in a253a580e6f20fb7087490225538422eb6cab0bb
2018-06-05Refs #29451 -- Quoted MySQL column names in tests.Tom Forbes
2018-03-16Fixed hanging indentation in various code.Mariusz Felisiak
2018-02-08Fixed #29108 -- Fixed crash in aggregation of distinct+ordered+sliced querysets.Simon Charette
Regression in 4acae21846f6212aa992763e587c7e201828d7b0. Thanks Stephen Brooks for the report.
2018-02-07Renamed the allow_sliced_subqueries database feature to ↵Mariusz Felisiak
allow_sliced_subqueries_with_in. After 0899d583bdb140910698d00d17f5f1abc8774b07 this database feature is false only on MySQL which doesn't support sliced subqueries only with IN/ALL/ANY/SOME.
2018-01-20Refs #20487 -- Added test for querying mixed case fields with common related ↵Mariusz Felisiak
model. Thanks Shai Berger for the review.
2017-12-28Removed unnecessary trailing commas and spaces in various code.Mariusz Felisiak
2017-09-06Fixed #15648 -- Allowed QuerySet.values_list() to return a namedtuple.Sergey Fedoseev
2017-09-05Fixed #11557 -- Added support for a list of fields in Meta.get_latest_by and ↵François Freitag
QuerySet.earliest()/latest().
2017-07-29Used assertRaisesMessage() to test Django's error messages.Mads Jensen
2017-06-29Removed obsolete Query.tables attribute.Anssi Kääriäinen
Obsolete since Query.alias_map became an OrderedDict (refs #26522).
2017-05-31Fixed #22550 -- Prohibited QuerySet.last()/reverse() after slicing.Matthias Erll
2017-05-27Fixed a test's dict_keys/list comparison that always evaluated as False.Jon Dufresne
2017-05-11Fixed #24254 -- Fixed queries using the __in lookup with querysets using ↵Simon Charette
distinct() and order_by(). Thanks Tim for the review.
2017-04-23Fixed #28101 -- Fixed a regression with nested __in subquery lookups and ↵Simon Charette
to_field. Thanks Kristian Klette for the report and Tim for the help.
2017-03-24Refs #21160 -- Replaced DatabaseFeatures.supports_1000_query_parameters by a ↵Mariusz Felisiak
DatabaseFeatures.max_query_params.
2017-03-06Fixed #26522 -- Fixed a nondeterministic AssertionError in QuerySet combining.Bo Marchman
Thanks Andrew Brown for the test case.
2017-02-23Refs #23919 -- Used yield from.Vytis Banaitis