Colleen Dunlap 
							
						 
					 
					
						
						
							
						
						802baf5da5 
					 
					
						
						
							
							Fixed   #36388  -- Made QuerySet.union() return self when called with no arguments.  
						
						... 
						
						
						
						Regression in 9cb8baa0c4 
						
						
					 
					
						2025-05-19 10:34:14 +02:00 
						 
				 
			
				
					
						
							
							
								Jacob Rief 
							
						 
					 
					
						
						
							
						
						40bfd7b09a 
					 
					
						
						
							
							Fixed   #35011 , Refs  #28900  -- Added tests for QuerySet.union() with multiple models and DateTimeField annotations.  
						
						... 
						
						
						
						Ticket was resolved by 65ad4ade74#28900 . 
						
						
					 
					
						2024-11-08 13:16:44 +01:00 
						 
				 
			
				
					
						
							
							
								Simon Charette 
							
						 
					 
					
						
						
							
						
						53ea4cce2f 
					 
					
						
						
							
							Fixed   #35744  -- Relabelled external aliases of combined queries.  
						
						... 
						
						
						
						Just like normal queries, combined queries' outer references might fully
resolve before their reference is assigned its final alias.
Refs #29338 .
Thanks Antony_K for the report and example, and thanks Mariusz Felisiak
for the review. 
						
						
					 
					
						2024-10-14 20:21:48 -03:00 
						 
				 
			
				
					
						
							
							
								Simon Charette 
							
						 
					 
					
						
						
							
						
						9cb8baa0c4 
					 
					
						
						
							
							Fixed   #35559  -- Avoided unnecessary query on sliced union of empty queries.  
						
						... 
						
						
						
						While refs #34125  focused on the SQL correctness of slicing of union of
potentially empty queries it missed an optimization opportunity to avoid
performing a query at all when all queries are empty.
Thanks Lucidiot for the report. 
						
						
					 
					
						2024-07-19 08:54:47 +02:00 
						 
				 
			
				
					
						
							
							
								Simon Charette 
							
						 
					 
					
						
						
							
						
						6d220963fa 
					 
					
						
						
							
							Fixed   #28900  -- Propagated all selected fields to combinator queries.  
						
						... 
						
						
						
						Previously, only the selected column aliases would be propagated and
annotations were ignored. 
						
						
					 
					
						2024-07-03 16:36:25 +02:00 
						 
				 
			
				
					
						
							
							
								Simon Charette 
							
						 
					 
					
						
						
							
						
						65ad4ade74 
					 
					
						
						
							
							Refs  #28900  -- Made SELECT respect the order specified by values(*selected).  
						
						... 
						
						
						
						Previously the order was always extra_fields + model_fields + annotations with
respective local ordering inferred from the insertion order of *selected.
This commits introduces a new `Query.selected` propery that keeps tracks of the
global select order as specified by on values assignment. This is crucial
feature to allow the combination of queries mixing annotations and table
references.
It also allows the removal of the re-ordering shenanigans perform by
ValuesListIterable in order to re-map the tuples returned from the database
backend to the order specified by values_list() as they'll be in the right
order at query compilation time.
Refs #28553  as the initially reported issue that was only partially fixed
for annotations by d6b6e5d0fd 
						
						
					 
					
						2024-07-03 16:36:25 +02:00 
						 
				 
			
				
					
						
							
							
								Simon Charette 
							
						 
					 
					
						
						
							
						
						eea4f92f9a 
					 
					
						
						
							
							Refs  #34013  -- Registered instance lookups as documented in tests.  
						
						
						
						
					 
					
						2023-12-16 20:05:36 +01:00 
						 
				 
			
				
					
						
							
							
								Simon Charette 
							
						 
					 
					
						
						
							
						
						b0ad41198b 
					 
					
						
						
							
							Fixed   #34013  -- Added QuerySet.order_by() support for annotation transforms.  
						
						... 
						
						
						
						Thanks Eugene Morozov and Ben Nace for the reports. 
						
						
					 
					
						2023-12-12 05:51:33 +01:00 
						 
				 
			
				
					
						
							
							
								David Wobrock 
							
						 
					 
					
						
						
							
						
						d6b6e5d0fd 
					 
					
						
						
							
							Fixed   #28553  -- Fixed annotation mismatch with QuerySet.values()/values_list() on compound queries.  
						
						... 
						
						
						
						Co-authored-by: Matthias Kestenholz <mk@feinheit.ch > 
						
						
					 
					
						2023-03-24 06:09:27 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						96bc4254ee 
					 
					
						
						
							
							Refs  #31445  -- Added test for nesting QuerySet.union().  
						
						... 
						
						
						
						This was fixed in MySQL 8.0.31. 
						
						
					 
					
						2023-02-21 12:47:52 +01:00 
						 
				 
			
				
					
						
							
							
								Francesco Panico 
							
						 
					 
					
						
						
							
						
						cc8aa6bf9c 
					 
					
						
						
							
							Fixed   #34267  -- Fixed sliced QuerySet.union() crash.  
						
						... 
						
						
						
						Regression in 3d734c09ff 
						
						
					 
					
						2023-01-20 08:51:38 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						a411b90967 
					 
					
						
						
							
							Refs  #33050  -- Added test for QuerySet.count() on combined queries with select_related().  
						
						... 
						
						
						
						Thanks Simon Charette for noticing this.
Fixed in 70499b25c7 
						
						
					 
					
						2022-11-23 09:35:48 +01:00 
						 
				 
			
				
					
						
							
							
								Simon Charette 
							
						 
					 
					
						
						
							
						
						70499b25c7 
					 
					
						
						
							
							Fixed   #34123  -- Fixed combinator order by alias when using select_related().  
						
						... 
						
						
						
						Regression in c58a8acd41shang.xiao.sanders@gmail.com > 
						
						
					 
					
						2022-11-15 10:48:19 +01:00 
						 
				 
			
				
					
						
							
							
								Simon Charette 
							
						 
					 
					
						
						
							
						
						c2cc80756b 
					 
					
						
						
							
							Fixed   #34125  -- Fixed sliced QuerySet.union() crash on a single non-empty queryset.  
						
						... 
						
						
						
						The bug existed since sliced query union was added but was elevated to
query union slices by moving the .exists() optimization to the compiler
in 3d734c09ff 
						
						
					 
					
						2022-10-29 09:21:25 +02:00 
						 
				 
			
				
					
						
							
							
								Gregor Gärtner 
							
						 
					 
					
						
						
							
						
						f0c06f8ab7 
					 
					
						
						
							
							Refs  #33990  -- Renamed TransactionTestCase.assertQuerysetEqual() to assertQuerySetEqual().  
						
						... 
						
						
						
						Co-Authored-By: Michael Howitz <mh@gocept.com > 
						
						
					 
					
						2022-10-08 08:07:38 +02:00 
						 
				 
			
				
					
						
							
							
								Simon Charette 
							
						 
					 
					
						
						
							
						
						c58a8acd41 
					 
					
						
						
							
							Fixed   #33768  -- Fixed ordering compound queries by nulls_first/nulls_last on MySQL.  
						
						... 
						
						
						
						Columns of the left outer most select statement in a combined query
can be referenced by alias just like by index.
This removes combined query ordering by column index and avoids an
unnecessary usage of RawSQL which causes issues for backends that
specialize the treatment of null ordering. 
						
						
					 
					
						2022-10-05 14:04:49 +02:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						44ffd8d06f 
					 
					
						
						
							
							Fixed   #33796  -- Fixed ordered combined queryset crash when used in subquery on PostgreSQL and MySQL.  
						
						... 
						
						
						
						Thanks Shai Berger for the report.
Regression in 30a0144134 
						
						
					 
					
						2022-06-27 06:21:31 +02:00 
						 
				 
			
				
					
						
							
							
								Ryan Heard 
							
						 
					 
					
						
						
							
						
						c6b4d62fa2 
					 
					
						
						
							
							Fixed   #29865  -- Added logical XOR support for Q() and querysets.  
						
						
						
						
					 
					
						2022-03-04 12:55:37 +01:00 
						 
				 
			
				
					
						
							
							
								Nick Pope 
							
						 
					 
					
						
						
							
						
						847f46e9bf 
					 
					
						
						
							
							Removed redundant QuerySet.all() calls in docs and tests.  
						
						... 
						
						
						
						Most QuerySet methods are mapped onto the Manager and, in general,
it isn't necessary to call .all() on the manager. 
						
						
					 
					
						2022-02-22 10:29:38 +01:00 
						 
				 
			
				
					
						
							
							
								django-bot 
							
						 
					 
					
						
						
							
						
						9c19aff7c7 
					 
					
						
						
							
							Refs  #33476  -- Reformatted code with Black.  
						
						
						
						
					 
					
						2022-02-07 20:37:05 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						30a0144134 
					 
					
						
						
							
							Fixed   #29338  -- Allowed using combined queryset in Subquery.  
						
						... 
						
						
						
						Thanks Eugene Kovalev for the initial patch, Simon Charette for the
review, and Chetan Khanna for help. 
						
						
					 
					
						2022-01-17 18:01:07 +01:00 
						 
				 
			
				
					
						
							
							
								Hasan Ramezani 
							
						 
					 
					
						
						
							
						
						f997c81472 
					 
					
						
						
							
							Fixed   #33127  -- Added error messages on | and & operators with combined querysets.  
						
						
						
						
					 
					
						2021-09-24 06:59:22 +02:00 
						 
				 
			
				
					
						
							
							
								Iuri de Silvio 
							
						 
					 
					
						
						
							
						
						9760e262f8 
					 
					
						
						
							
							Fixed   #32627  -- Fixed QuerySet.values()/values_list() crash on combined querysets ordered by unannotated columns.  
						
						
						
						
					 
					
						2021-04-12 21:11:40 +02:00 
						 
				 
			
				
					
						
							
							
								Johan Schiff 
							
						 
					 
					
						
						
							
						
						d01709aae2 
					 
					
						
						
							
							Fixed   #24141  -- Added QuerySet.contains().  
						
						
						
						
					 
					
						2021-03-06 20:40:29 +01:00 
						 
				 
			
				
					
						
							
							
								David-Wobrock 
							
						 
					 
					
						
						
							
						
						ba42569d5c 
					 
					
						
						
							
							Fixed   #31507  -- Added QuerySet.exists() optimizations to compound queries.  
						
						
						
						
					 
					
						2020-11-16 20:29:13 +01:00 
						 
				 
			
				
					
						
							
							
								David-Wobrock 
							
						 
					 
					
						
						
							
						
						7b42d34646 
					 
					
						
						
							
							Refs  #27718  -- Doc'd and tested QuerySet.exists() for combined querysets.  
						
						... 
						
						
						
						Supported since 84c1826ded 
						
						
					 
					
						2020-11-16 15:15:41 +01:00 
						 
				 
			
				
					
						
							
							
								David-Wobrock 
							
						 
					 
					
						
						
							
						
						464a4c0c59 
					 
					
						
						
							
							Fixed   #31496  -- Fixed QuerySet.values()/values_list() crash on combined querysets ordered by annotations.  
						
						
						
						
					 
					
						2020-11-14 10:22:09 +01:00 
						 
				 
			
				
					
						
							
							
								Hannes Ljungberg 
							
						 
					 
					
						
						
							
						
						c7c7615d00 
					 
					
						
						
							
							Fixed   #32116  -- Fixed QuerySet.order_by() crash on EmptyQuerySet with union() on a single non-empty ordered queryset.  
						
						
						
						
					 
					
						2020-10-19 08:36:07 +02:00 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						ae8338daf3 
					 
					
						
						
							
							Fixed   #31767  -- Fixed QuerySet.none() on combined queryset.  
						
						
						
						
					 
					
						2020-07-07 12:15:05 +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 
						 
				 
			
				
					
						
							
							
								Hasan Ramezani 
							
						 
					 
					
						
						
							
						
						01a381cc17 
					 
					
						
						
							
							Fixed   #31580  -- Added error messages on distinct() following union(), intersection(), and difference().  
						
						
						
						
					 
					
						2020-05-13 14:44:10 +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 
						 
				 
			
				
					
						
							
							
								Hasan Ramezani 
							
						 
					 
					
						
						
							
						
						1853383969 
					 
					
						
						
							
							Fixed   #27995  -- Added error messages on unsupported operations following union(), intersection(), and difference().  
						
						
						
						
					 
					
						2019-07-25 12:39:55 +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 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						0b66c3b442 
					 
					
						
						
							
							Fixed   #29286  -- Fixed column mismatch crash with QuerySet.values() or values_list() after combining an annotated and unannotated queryset with union(), difference(), or intersection().  
						
						... 
						
						
						
						Regression in a0c03c62a8 
						
						
					 
					
						2018-04-13 12:15:52 +02:00 
						 
				 
			
				
					
						
							
							
								Astral 
							
						 
					 
					
						
						
							
						
						a0c03c62a8 
					 
					
						
						
							
							Fixed   #29229  -- Fixed column mismatch crash when combining two annotated values_list() querysets with union(), difference(), or intersection().  
						
						... 
						
						
						
						Regression in 7316720603821ebb64dfe8fa592ba6edcef5f3e. 
						
						
					 
					
						2018-03-19 21:05:43 -04:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						2d3cc94284 
					 
					
						
						
							
							Fixed   #28781  -- Added QuerySet.values()/values_list() support for union(), difference(), and intersection().  
						
						... 
						
						
						
						Thanks Tim Graham for the review. 
						
						
					 
					
						2017-11-12 14:28:11 +01:00