Hasan Ramezani 
							
						 
					 
					
						
						
							
						
						981a3426cf 
					 
					
						
						
							
							Fixed   #32068  -- Added error messages on get() with filters following union(), intersection(), and difference().  
						
						
						
						
					 
					
						2020-10-05 12:25:05 +02:00 
						 
				 
			
				
					
						
							
							
								Hasan Ramezani 
							
						 
					 
					
						
						
							
						
						7cfa40d872 
					 
					
						
						
							
							Refs  #32068  -- Added tests for get() following union(), intersection(), and difference().  
						
						
						
						
					 
					
						2020-10-05 12:25:02 +02:00 
						 
				 
			
				
					
						
							
							
								Hasan Ramezani 
							
						 
					 
					
						
						
							
						
						a046bcadbe 
					 
					
						
						
							
							Fixed   #31916  -- Fixed combined queryset crash when combining with ordered combined querysets.  
						
						
						
						
					 
					
						2020-09-17 08:26:06 +02:00 
						 
				 
			
				
					
						
							
							
								Kwist 
							
						 
					 
					
						
						
							
						
						981a072dd4 
					 
					
						
						
							
							Fixed   #31843  -- Fixed pickling named values from QuerySet.values_list().  
						
						
						
						
					 
					
						2020-09-16 13:43:06 +02:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						e11d05e0b4 
					 
					
						
						
							
							Fixed   #31990  -- Fixed QuerySet.ordered for GROUP BY queries on models with Meta.ordering.  
						
						... 
						
						
						
						Regression in 0ddb4ebf7b 
						
						
					 
					
						2020-09-14 20:07:44 +02:00 
						 
				 
			
				
					
						
							
							
								Nick Pope 
							
						 
					 
					
						
						
							
						
						b312421511 
					 
					
						
						
							
							Refs  #30897  -- Added test for WAL option to Queryset.explain() on PostgreSQL 13+.  
						
						
						
						
					 
					
						2020-08-24 11:47:38 +02:00 
						 
				 
			
				
					
						
							
							
								Alexandr Tatarinov 
							
						 
					 
					
						
						
							
						
						f4ac167119 
					 
					
						
						
							
							Fixed   #27719  -- Added QuerySet.alias() to allow creating reusable aliases.  
						
						... 
						
						
						
						QuerySet.alias() allows creating reusable aliases for expressions that
don't need to be selected but are used for filtering, ordering, or as
a part of complex expressions.
Thanks Simon Charette for reviews. 
						
						
					 
					
						2020-07-31 13:19:33 +02:00 
						 
				 
			
				
					
						
							
							
								Hasan Ramezani 
							
						 
					 
					
						
						
							
						
						9c9a3fe118 
					 
					
						
						
							
							Fixed   #31783  -- Fixed crash when filtering againts "negate" field.  
						
						... 
						
						
						
						Thanks Simon Charette for the initial patch. 
						
						
					 
					
						2020-07-29 08:20:58 +02:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						ae8338daf3 
					 
					
						
						
							
							Fixed   #31767  -- Fixed QuerySet.none() on combined queryset.  
						
						
						
						
					 
					
						2020-07-07 12:15:05 +02:00 
						 
				 
			
				
					
						
							
							
								Jacob Walls 
							
						 
					 
					
						
						
							
						
						512da9d585 
					 
					
						
						
							
							Fixed   #23797  -- Fixed QuerySet.exclude() when rhs is a nullable column.  
						
						
						
						
					 
					
						2020-07-06 10:15:37 +02:00 
						 
				 
			
				
					
						
							
							
								Nicolas Baccelli 
							
						 
					 
					
						
						
							
						
						b38d44229f 
					 
					
						
						
							
							Fixed   #31664  -- Reallowed using non-expressions having filterable attribute as rhs in queryset filters.  
						
						... 
						
						
						
						Regression in 4edad1ddf6 
						
						
					 
					
						2020-06-08 08:17:23 +02:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						f4bab0982a 
					 
					
						
						
							
							Refs  #31614  -- Added test for ordering by OrderBy() of combined queryset with not selected columns.  
						
						
						
						
					 
					
						2020-05-27 09:03:53 +02:00 
						 
				 
			
				
					
						
							
							
								Laurent Tramoy 
							
						 
					 
					
						
						
							
						
						2aac176e86 
					 
					
						
						
							
							Fixed   #31614  -- Fixed aliases ordering by OrderBy() expressions of combined queryset.  
						
						
						
						
					 
					
						2020-05-26 21:14:45 +02:00 
						 
				 
			
				
					
						
							
							
								Laurent Tramoy 
							
						 
					 
					
						
						
							
						
						51ad767d0b 
					 
					
						
						
							
							Refs  #31614  -- Added test for aliases ordering on combined querysets.  
						
						
						
						
					 
					
						2020-05-26 21:14:40 +02:00 
						 
				 
			
				
					
						
							
							
								Laurent Tramoy 
							
						 
					 
					
						
						
							
						
						50f71ccb36 
					 
					
						
						
							
							Used operator.attrgetter() in test_qs_combinators.  
						
						
						
						
					 
					
						2020-05-26 21:14:40 +02:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						20a8a443f0 
					 
					
						
						
							
							Fixed   #31578  -- Dropped support for MySQL 5.6.  
						
						
						
						
					 
					
						2020-05-19 10:56:39 +02:00 
						 
				 
			
				
					
						
							
							
								Simon Charette 
							
						 
					 
					
						
						
							
						
						94f63b926f 
					 
					
						
						
							
							Refs  #31395  -- Relied on setUpTestData() test data isolation in various tests.  
						
						
						
						
					 
					
						2020-05-15 20:22:56 +02:00 
						 
				 
			
				
					
						
							
							
								Simon Charette 
							
						 
					 
					
						
						
							
						
						1dd96f731d 
					 
					
						
						
							
							Refs  #13227  -- Adjusted a test to avoid making a shared test model unpickable.  
						
						... 
						
						
						
						This allowed the Note model to be used in setUpTestData() which requires
assigned model instances to be copy.deepcopy()'able. 
						
						
					 
					
						2020-05-15 20:22:51 +02:00 
						 
				 
			
				
					
						
							
							
								Hasan Ramezani 
							
						 
					 
					
						
						
							
						
						01a381cc17 
					 
					
						
						
							
							Fixed   #31580  -- Added error messages on distinct() following union(), intersection(), and difference().  
						
						
						
						
					 
					
						2020-05-13 14:44:10 +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