David Smith 
							
						 
					 
					
						
						
							
						
						80aae83439 
					 
					
						
						
							
							[4.2.x] Refs  #33476  -- Applied Black's 2023 stable style.  
						
						... 
						
						
						
						Black 23.1.0 is released which, as the first release of the year,
introduces the 2023 stable style. This incorporates most of last year's
preview style.
https://github.com/psf/black/releases/tag/23.1.0 
Backport of 097e3a70c1 
						
						
					 
					
						2023-02-01 11:37:29 +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 
						 
				 
			
				
					
						
							
							
								David Wobrock 
							
						 
					 
					
						
						
							
						
						3b4a5b9f97 
					 
					
						
						
							
							Fixed   #23353  -- Used "raise from" when raising TransactionManagementError.  
						
						... 
						
						
						
						This change sets the __cause__ attribute to raised exceptions. 
						
						
					 
					
						2022-10-03 06:08:54 +02:00 
						 
				 
			
				
					
						
							
							
								kshivakumar 
							
						 
					 
					
						
						
							
						
						46efd03d26 
					 
					
						
						
							
							Fixed   #33733  -- Preserved wrapper assignment for manager methods.  
						
						
						
						
					 
					
						2022-06-01 10:44:34 +02:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						0982cf2a01 
					 
					
						
						
							
							Refs  #33733  -- Added tests for attributes of manager methods.  
						
						
						
						
					 
					
						2022-06-01 10:44:34 +02:00 
						 
				 
			
				
					
						
							
							
								Andrew Godwin 
							
						 
					 
					
						
						
							
						
						58b27e0dbb 
					 
					
						
						
							
							Fixed   #33646  -- Added async-compatible interface to QuerySet.  
						
						... 
						
						
						
						Thanks Simon Charette for reviews.
Co-authored-by: Carlton Gibson <carlton.gibson@noumenal.es >
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com > 
						
						
					 
					
						2022-04-26 20:25:23 +02: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 
						 
				 
			
				
					
						
							
							
								Adam Johnson 
							
						 
					 
					
						
						
							
						
						08d8bccbf1 
					 
					
						
						
							
							Improved Model.__init__() properties loop.  
						
						... 
						
						
						
						This improves readability, accumulates unrecognized arguments raise an
exception with all of them, and avoids refetching the values. 
						
						
					 
					
						2022-01-13 11:09:37 +01:00 
						 
				 
			
				
					
						
							
							
								Johan Schiff 
							
						 
					 
					
						
						
							
						
						d01709aae2 
					 
					
						
						
							
							Fixed   #24141  -- Added QuerySet.contains().  
						
						
						
						
					 
					
						2021-03-06 20:40:29 +01:00 
						 
				 
			
				
					
						
							
							
								Jacob Walls 
							
						 
					 
					
						
						
							
						
						73b1b225ce 
					 
					
						
						
							
							Fixed   #22640  -- Raised TypeError when instantiating model with keyword and positional args for the same field.  
						
						
						
						
					 
					
						2021-03-01 20:26:39 +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 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								Abhijeet Viswa 
							
						 
					 
					
						
						
							
						
						babd412685 
					 
					
						
						
							
							Fixed   #29129  -- Skipped UPDATE when adding a model instance with inherited primary key that has a default.  
						
						
						
						
					 
					
						2020-03-05 12:08:38 +01:00 
						 
				 
			
				
					
						
							
							
								Nick Pope 
							
						 
					 
					
						
						
							
						
						335c9c94ac 
					 
					
						
						
							
							Simplified imports from django.db and django.contrib.gis.db.  
						
						
						
						
					 
					
						2020-02-04 13:20:06 +01:00 
						 
				 
			
				
					
						
							
							
								ElizabethU 
							
						 
					 
					
						
						
							
						
						54ea290e5b 
					 
					
						
						
							
							Fixed   #30651  -- Made __eq__() methods return NotImplemented for not implemented comparisons.  
						
						... 
						
						
						
						Changed __eq__ to return NotImplemented instead of False if compared to
an object of the same type, as is recommended by the Python data model
reference. Now these models can be compared to ANY (or other objects
with __eq__ overwritten) without returning False automatically. 
						
						
					 
					
						2019-10-01 17:58:19 +02:00 
						 
				 
			
				
					
						
							
							
								Hasan Ramezani 
							
						 
					 
					
						
						
							
						
						85458e94e3 
					 
					
						
						
							
							Fixed   #29260  -- Skipped an UPDATE when adding a model instance with primary key that has a default.  
						
						
						
						
					 
					
						2019-08-19 13:28:35 +02:00 
						 
				 
			
				
					
						
							
							
								Amir Hadi 
							
						 
					 
					
						
						
							
						
						330638b89f 
					 
					
						
						
							
							Fixed   #6785  -- Made QuerySet.get() fetch a limited number of rows.  
						
						... 
						
						
						
						Co-authored-by: Tim Graham <timograham@gmail.com >
Co-authored-by: Patryk Zawadzki <patrys@room-303.com >
Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com > 
						
						
					 
					
						2019-05-12 07:05:24 +02:00 
						 
				 
			
				
					
						
							
							
								Carlton Gibson 
							
						 
					 
					
						
						
							
						
						607ff4efa3 
					 
					
						
						
							
							Refs  #30254  -- Added tests for Model.__hash__() inheritance.  
						
						
						
						
					 
					
						2019-04-24 09:59:09 +02:00 
						 
				 
			
				
					
						
							
							
								Simon Charette 
							
						 
					 
					
						
						
							
						
						84e7a9f4a7 
					 
					
						
						
							
							Switched setUp() to setUpTestData() where possible in Django's tests.  
						
						
						
						
					 
					
						2018-11-27 09:35:17 -05:00 
						 
				 
			
				
					
						
							
							
								Hasan Ramezani 
							
						 
					 
					
						
						
							
						
						cf915cb513 
					 
					
						
						
							
							Added a test for a lookup in Model.refresh_from_db(fields=[...]).  
						
						
						
						
					 
					
						2018-11-15 11:38:47 -05:00 
						 
				 
			
				
					
						
							
							
								oliver 
							
						 
					 
					
						
						
							
						
						0ce2ad9ca4 
					 
					
						
						
							
							Used QuerySet.bulk_create() in a couple tests.  
						
						
						
						
					 
					
						2018-11-06 19:32:40 -05:00 
						 
				 
			
				
					
						
							
							
								Tom Forbes 
							
						 
					 
					
						
						
							
						
						9cbdb44014 
					 
					
						
						
							
							Fixed   #23646  -- Added QuerySet.bulk_update() to efficiently update many models.  
						
						
						
						
					 
					
						2018-09-18 16:14:44 -04:00 
						 
				 
			
				
					
						
							
							
								Ming Qin 
							
						 
					 
					
						
						
							
						
						cfb4845f06 
					 
					
						
						
							
							Fixed   #29625  -- Made Model.refresh_from_db() clear prefetch related caches.  
						
						
						
						
					 
					
						2018-08-20 12:01:42 -04:00 
						 
				 
			
				
					
						
							
							
								Federico Bond 
							
						 
					 
					
						
						
							
						
						4c36414323 
					 
					
						
						
							
							Fixed   #29517  -- Rephrased error message when passing incorrect kwarg to model constructor  
						
						
						
						
					 
					
						2018-06-25 09:30:58 +02:00 
						 
				 
			
				
					
						
							
							
								Tom 
							
						 
					 
					
						
						
							
						
						c1c163b427 
					 
					
						
						
							
							Fixed   #28574  -- Added QuerySet.explain().  
						
						
						
						
					 
					
						2018-04-19 10:52:19 -04:00 
						 
				 
			
				
					
						
							
							
								Jon Dufresne 
							
						 
					 
					
						
						
							
						
						136bf5c214 
					 
					
						
						
							
							Fixed   #29076  -- Made Model.refresh_from_db() clear cached relationships even if the related id doesn't change.  
						
						
						
						
					 
					
						2018-01-30 10:43:53 -05:00 
						 
				 
			
				
					
						
							
							
								Paulo 
							
						 
					 
					
						
						
							
						
						a7b5ad8b19 
					 
					
						
						
							
							Fixed   #27846  -- Made Model.refresh_from_db() clear cached relations.  
						
						
						
						
					 
					
						2017-10-12 17:04:10 -04:00 
						 
				 
			
				
					
						
							
							
								Tim Graham 
							
						 
					 
					
						
						
							
						
						a80903b711 
					 
					
						
						
							
							Removed DatabaseFeatures.supports_microsecond_precision.  
						
						... 
						
						
						
						MySQL 5.5 (refs #28552 ) was the last database to use it. 
						
						
					 
					
						2017-09-25 14:48:15 -04:00 
						 
				 
			
				
					
						
							
							
								Mads Jensen 
							
						 
					 
					
						
						
							
						
						a51c4de194 
					 
					
						
						
							
							Used assertRaisesMessage() to test Django's error messages.  
						
						
						
						
					 
					
						2017-07-29 19:07:23 -04:00 
						 
				 
			
				
					
						
							
							
								Jon Dufresne 
							
						 
					 
					
						
						
							
						
						21046e7773 
					 
					
						
						
							
							Fixed   #28249  -- Removed unnecessary dict.keys() calls.  
						
						... 
						
						
						
						iter(dict) is equivalent to iter(dict.keys()). 
						
						
					 
					
						2017-05-27 19:08:46 -04:00 
						 
				 
			
				
					
						
							
							
								Claude Paroz 
							
						 
					 
					
						
						
							
						
						c651331b34 
					 
					
						
						
							
							Converted usage of ugettext* functions to their gettext* aliases  
						
						... 
						
						
						
						Thanks Tim Graham for the review. 
						
						
					 
					
						2017-02-07 09:04:04 +01:00 
						 
				 
			
				
					
						
							
							
								chillaranand 
							
						 
					 
					
						
						
							
						
						d6eaf7c018 
					 
					
						
						
							
							Refs  #23919  -- Replaced super(ClassName, self) with super().  
						
						
						
						
					 
					
						2017-01-25 12:23:46 -05:00 
						 
				 
			
				
					
						
							
							
								Claude Paroz 
							
						 
					 
					
						
						
							
						
						d7b9aaa366 
					 
					
						
						
							
							Refs  #23919  -- Removed encoding preambles and future imports  
						
						
						
						
					 
					
						2017-01-18 09:55:19 +01:00 
						 
				 
			
				
					
						
							
							
								Florian Apolloner 
							
						 
					 
					
						
						
							
						
						84c1826ded 
					 
					
						
						
							
							Fixed   #27718  -- Added QuerySet.union(), intersection(), difference().  
						
						... 
						
						
						
						Thanks Mariusz Felisiak for review and Oracle assistance.
Thanks Tim Graham for review and writing docs. 
						
						
					 
					
						2017-01-14 08:32:07 -05:00 
						 
				 
			
				
					
						
							
							
								Morgan Aubert 
							
						 
					 
					
						
						
							
						
						adb791fdcb 
					 
					
						
						
							
							Moved test_field_ordering to the model_fields package.  
						
						
						
						
					 
					
						2016-12-14 13:35:13 -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 
							
						 
					 
					
						
						
							
						
						20d1cb33c2 
					 
					
						
						
							
							Fixed   #26787  -- Documented deleting and reloading of model instance fields.  
						
						... 
						
						
						
						Thanks Julien Hartmann for the report. 
						
						
					 
					
						2016-06-21 14:39:17 -04:00 
						 
				 
			
				
					
						
							
							
								Jon Dufresne 
							
						 
					 
					
						
						
							
						
						4f336f6652 
					 
					
						
						
							
							Fixed   #26747  -- Used more specific assertions in the Django test suite.  
						
						
						
						
					 
					
						2016-06-16 14:19:18 -04:00 
						 
				 
			
				
					
						
							
							
								Marti Raudsepp 
							
						 
					 
					
						
						
							
						
						b9ae662c97 
					 
					
						
						
							
							Fixed   #26620  -- Made Model.refresh_from_db() fail when passed unknown kwargs.  
						
						
						
						
					 
					
						2016-05-18 09:27:23 -04:00 
						 
				 
			
				
					
						
							
							
								Loïc Bistuer 
							
						 
					 
					
						
						
							
						
						ed0ff913c6 
					 
					
						
						
							
							Fixed   #10506 ,  #13793 ,  #14891 ,  #25201  -- Introduced new APIs to specify models' default and base managers.  
						
						... 
						
						
						
						This deprecates use_for_related_fields.
Old API:
class CustomManager(models.Model):
    use_for_related_fields = True
class Model(models.Model):
    custom_manager = CustomManager()
New API:
class Model(models.Model):
    custom_manager = CustomManager()
    class Meta:
        base_manager_name = 'custom_manager'
Refs #20932 , #25897 .
Thanks Carl Meyer for the guidance throughout this work.
Thanks Tim Graham for writing the docs. 
						
						
					 
					
						2016-05-17 12:07:22 +07:00 
						 
				 
			
				
					
						
							
							
								Tim Graham 
							
						 
					 
					
						
						
							
						
						92053acbb9 
					 
					
						
						
							
							Fixed E128 flake8 warnings in tests/.  
						
						
						
						
					 
					
						2016-04-08 10:12:33 -04:00 
						 
				 
			
				
					
						
							
							
								Hasan 
							
						 
					 
					
						
						
							
						
						26ad01719d 
					 
					
						
						
							
							Refs  #26022  -- Replaced six.assertRaisesRegex with assertRaisesMessage as appropriate.  
						
						
						
						
					 
					
						2016-01-29 13:37:33 -05:00 
						 
				 
			
				
					
						
							
							
								Hasan 
							
						 
					 
					
						
						
							
						
						3d0dcd7f5a 
					 
					
						
						
							
							Refs  #26022  -- Used context manager version of assertRaises in tests.  
						
						
						
						
					 
					
						2016-01-29 12:32:18 -05:00 
						 
				 
			
				
					
						
							
							
								Anderson Resende 
							
						 
					 
					
						
						
							
						
						b5f8c81ce1 
					 
					
						
						
							
							Fixed   #26026  -- Fixed isinstance crash comparing EmptyQuerySet to non-QuerySet.  
						
						
						
						
					 
					
						2016-01-07 10:57:05 -05:00 
						 
				 
			
				
					
						
							
							
								Tim Graham 
							
						 
					 
					
						
						
							
						
						54e2e688e1 
					 
					
						
						
							
							Fixed   #25715  -- Fixed Model.refresh_from_db() with ForeignKey w/on_delete=SET_NULL.  
						
						
						
						
					 
					
						2015-11-21 10:34:01 -05:00 
						 
				 
			
				
					
						
							
							
								Tim Graham 
							
						 
					 
					
						
						
							
						
						96317ad8de 
					 
					
						
						
							
							Refs  #21414  -- Removed Field.related per deprecation timeline.  
						
						
						
						
					 
					
						2015-09-23 19:31:10 -04:00 
						 
				 
			
				
					
						
							
							
								Aymeric Augustin 
							
						 
					 
					
						
						
							
						
						491d01b7e9 
					 
					
						
						
							
							Tweak some examples.  
						
						... 
						
						
						
						"Area man/woman" is confusing to people not familiar with the
conventions of American journalism (like me). 
						
						
					 
					
						2015-08-22 20:25:42 +02:00 
						 
				 
			
				
					
						
							
							
								Simon Charette 
							
						 
					 
					
						
						
							
						
						be67400b47 
					 
					
						
						
							
							Refs  #24652  -- Used SimpleTestCase where appropriate.  
						
						
						
						
					 
					
						2015-05-20 13:46:13 -04:00