Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						3b24a3fa33 
					 
					
						
						
							
							Removed unnecessary commas in tests.  
						
						
						
						
					 
					
						2022-12-21 11:41:29 +01:00 
						 
				 
			
				
					
						
							
							
								Simon Charette 
							
						 
					 
					
						
						
							
						
						76e37513e2 
					 
					
						
						
							
							Refs  #33374  -- Adjusted full match condition handling.  
						
						... 
						
						
						
						Adjusting WhereNode.as_sql() to raise an exception when encoutering a
full match just like with empty matches ensures that all case are
explicitly handled. 
						
						
					 
					
						2022-11-07 20:23:53 +01: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 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						d795259ea9 
					 
					
						
						
							
							Replaced assertQuerysetEqual() to assertSequenceEqual()/assertCountEqual() where appropriate.  
						
						... 
						
						
						
						Follow up to 3f7b327562 
						
						
					 
					
						2022-10-07 13:05:35 +02:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						37a13cc92d 
					 
					
						
						
							
							Refs  #34012  -- Added test for ordering by transform of related fields.  
						
						
						
						
					 
					
						2022-09-22 12:55:47 +02:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						ce6230aa97 
					 
					
						
						
							
							Fixed   #34015  -- Allowed filtering by transforms on relation fields.  
						
						
						
						
					 
					
						2022-09-22 00:17:04 +02:00 
						 
				 
			
				
					
						
							
							
								Simon Charette 
							
						 
					 
					
						
						
							
						
						b3db6c8dcb 
					 
					
						
						
							
							Fixed   #21204  -- Tracked field deferrals by field instead of models.  
						
						... 
						
						
						
						This ensures field deferral works properly when a model is involved
more than once in the same query with a distinct deferral mask. 
						
						
					 
					
						2022-08-30 08:43:53 +02:00 
						 
				 
			
				
					
						
							
							
								Nick Pope 
							
						 
					 
					
						
						
							
						
						769d7cce4a 
					 
					
						
						
							
							Used AND, OR, XOR constants instead of hard-coded values.  
						
						
						
						
					 
					
						2022-07-27 07:55:09 +02:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						1760ad4e8c 
					 
					
						
						
							
							Relaxed some query ordering assertions in various tests.  
						
						... 
						
						
						
						It accounts for differences seen on MySQL with MyISAM storage engine. 
						
						
					 
					
						2022-04-14 12:12:13 +02:00 
						 
				 
			
				
					
						
							
							
								mgaligniana 
							
						 
					 
					
						
						
							
						
						0ad5316f22 
					 
					
						
						
							
							Fixed   #24296  -- Made QuerySet.exists() clear selected columns for not sliced distinct querysets.  
						
						
						
						
					 
					
						2022-04-12 08:18:22 +02:00 
						 
				 
			
				
					
						
							
							
								mgaligniana 
							
						 
					 
					
						
						
							
						
						d2263b7b87 
					 
					
						
						
							
							Refs  #18414  -- Added tests for selected columns of sliced distinct querysets.  
						
						
						
						
					 
					
						2022-04-12 08:18:22 +02:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						93cae5cb2f 
					 
					
						
						
							
							Fixed CVE-2022-28346 -- Protected QuerySet.annotate(), aggregate(), and extra() against SQL injection in column aliases.  
						
						... 
						
						
						
						Thanks Splunk team: Preston Elder, Jacob Davis, Jacob Moore,
Matt Hanson, David Briggs, and a security researcher: Danylo Dmytriiev
(DDV_UA) for the report. 
						
						
					 
					
						2022-04-11 08:59:33 +02:00 
						 
				 
			
				
					
						
							
							
								Ryan Heard 
							
						 
					 
					
						
						
							
						
						c6b4d62fa2 
					 
					
						
						
							
							Fixed   #29865  -- Added logical XOR support for Q() and querysets.  
						
						
						
						
					 
					
						2022-03-04 12:55:37 +01:00 
						 
				 
			
				
					
						
							
							
								Albert Defler 
							
						 
					 
					
						
						
							
						
						2b6a3baebe 
					 
					
						
						
							
							Fixed   #31486  -- Deprecated passing unsaved objects to related filters.  
						
						... 
						
						
						
						Co-Authored-By: Hasan Ramezani <hasan.r67@gmail.com > 
						
						
					 
					
						2022-02-25 07:51: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 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						7119f40c98 
					 
					
						
						
							
							Refs  #33476  -- Refactored code to strictly match 88 characters line length.  
						
						
						
						
					 
					
						2022-02-07 20:37:05 +01:00 
						 
				 
			
				
					
						
							
							
								django-bot 
							
						 
					 
					
						
						
							
						
						9c19aff7c7 
					 
					
						
						
							
							Refs  #33476  -- Reformatted code with Black.  
						
						
						
						
					 
					
						2022-02-07 20:37:05 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						c5cd878382 
					 
					
						
						
							
							Refs  #33476  -- Refactored problematic code before reformatting by Black.  
						
						... 
						
						
						
						In these cases Black produces unexpected results, e.g.
def make_random_password(
    self,
    length=10,
    allowed_chars='abcdefghjkmnpqrstuvwxyz' 'ABCDEFGHJKLMNPQRSTUVWXYZ' '23456789',
):
or
cursor.execute("""
SELECT ...
""",
    [table name],
) 
						
						
					 
					
						2022-02-03 11:20:46 +01:00 
						 
				 
			
				
					
						
							
							
								Ömer Faruk Abacı 
							
						 
					 
					
						
						
							
						
						81739a45b5 
					 
					
						
						
							
							Fixed   #33319  -- Fixed crash when combining with the | operator querysets with aliases that conflict.  
						
						
						
						
					 
					
						2021-12-08 21:16:24 +01:00 
						 
				 
			
				
					
						
							
							
								Jacob Walls 
							
						 
					 
					
						
						
							
						
						28f66b2783 
					 
					
						
						
							
							Refs  #25467  -- Added test for excluding one-to-one relation with unsaved objects.  
						
						... 
						
						
						
						Fixed in 58da81a5a3 
						
						
					 
					
						2021-10-08 06:26:19 +02:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						903aaa35e5 
					 
					
						
						
							
							Fixed   #33159  -- Reverted "Fixed  #32970  -- Changed WhereNode.clone() to create a shallow copy of children."  
						
						... 
						
						
						
						This reverts commit e441847eca 
						
						
					 
					
						2021-09-30 11:26:17 +02:00 
						 
				 
			
				
					
						
							
							
								Daniyal 
							
						 
					 
					
						
						
							
						
						f479df7f8d 
					 
					
						
						
							
							Refs  #32508  -- Raised Type/ValueError instead of using "assert" in django.db.models.  
						
						... 
						
						
						
						Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com > 
						
						
					 
					
						2021-07-15 11:43:33 +02:00 
						 
				 
			
				
					
						
							
							
								Simon Charette 
							
						 
					 
					
						
						
							
						
						b81c7562fc 
					 
					
						
						
							
							Fixed   #32717  -- Fixed filtering of querysets combined with the | operator.  
						
						... 
						
						
						
						Address a long standing bug in a Where.add optimization to discard
equal nodes that was surfaced by implementing equality for Lookup
instances in bbf141bcdc 
						
						
					 
					
						2021-05-13 07:26:52 +02:00 
						 
				 
			
				
					
						
							
							
								Hasan Ramezani 
							
						 
					 
					
						
						
							
						
						8de4ca74ba 
					 
					
						
						
							
							Fixed   #32693  -- Quoted and lowercased generated column aliases.  
						
						
						
						
					 
					
						2021-05-04 07:36:56 +02:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						c3278bb71f 
					 
					
						
						
							
							Used assertCountEqual() in ExcludeTests.test_exclude_subquery().  
						
						
						
						
					 
					
						2021-04-22 10:47:10 +02:00 
						 
				 
			
				
					
						
							
							
								Simon Charette 
							
						 
					 
					
						
						
							
						
						6d0cbe42c3 
					 
					
						
						
							
							Fixed   #32650  -- Fixed handling subquery aliasing on queryset combination.  
						
						... 
						
						
						
						This issue started manifesting itself when nesting a combined subquery
relying on exclude() since 8593e162c9#27149 ).
Thanks Raffaele Salmaso for the report. 
						
						
					 
					
						2021-04-21 09:49:15 +02:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						ba9a2b7544 
					 
					
						
						
							
							Refs  #32508  -- Raised TypeError instead of using "assert" on unsupported operations for sliced querysets.  
						
						
						
						
					 
					
						2021-03-10 09:16:28 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						06eec31970 
					 
					
						
						
							
							Refs  #7098  -- Removed support for passing raw column aliases to order_by().  
						
						... 
						
						
						
						Per deprecation timeline. 
						
						
					 
					
						2021-01-14 17:50:04 +01:00 
						 
				 
			
				
					
						
							
							
								Hasan Ramezani 
							
						 
					 
					
						
						
							
						
						3f7b327562 
					 
					
						
						
							
							Fixed   #31235  -- Made assertQuerysetEqual() compare querysets directly.  
						
						... 
						
						
						
						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-11-06 09:24:50 +01:00 
						 
				 
			
				
					
						
							
							
								Simon Charette 
							
						 
					 
					
						
						
							
						
						8593e162c9 
					 
					
						
						
							
							Fixed   #32143  -- Used EXISTS to exclude multi-valued relationships.  
						
						... 
						
						
						
						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-28 07:22:00 +01:00 
						 
				 
			
				
					
						
							
							
								Tim Graham 
							
						 
					 
					
						
						
							
						
						73be11a266 
					 
					
						
						
							
							Removed an obsolete query test that assumes serial pks.  
						
						... 
						
						
						
						The code from the original fix (922aba3def419de7b00d 
						
						
					 
					
						2020-10-27 06:31:26 +01: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 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								Jon Dufresne 
							
						 
					 
					
						
						
							
						
						e649d691f8 
					 
					
						
						
							
							Removed unnecessary parentheses in various code.  
						
						
						
						
					 
					
						2019-11-18 15:25:59 +01: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 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								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