Sage Abdullah 
							
						 
					 
					
						
						
							
						
						38660a612c 
					 
					
						
						
							
							Refs  #36143  -- Tested bulk_batch_size limit for bulk_update and bulk_create.  
						
						
						
						
					 
					
						2025-05-08 11:37:11 +01:00 
						 
				 
			
				
					
						
							
							
								Tim Graham 
							
						 
					 
					
						
						
							
						
						02e7a162a0 
					 
					
						
						
							
							Refs  #36088 , Refs  #36260  - Added supports_expression_defaults checks in bulk_create() tests.  
						
						
						
						
					 
					
						2025-04-05 18:47:53 +02:00 
						 
				 
			
				
					
						
							
							
								Dmitry Shachnev 
							
						 
					 
					
						
						
							
						
						77b4ecbd53 
					 
					
						
						
							
							Fixed   #36260  -- Made bulk_create() work with DB-generated primary keys.  
						
						... 
						
						
						
						Co-authored-by: Simon Charette <charette.s@gmail.com > 
						
						
					 
					
						2025-03-26 09:55:09 +01:00 
						 
				 
			
				
					
						
							
							
								Simon Charette 
							
						 
					 
					
						
						
							
						
						4608d34b34 
					 
					
						
						
							
							Fixed   #36088  -- Avoided unnecessary DEFAULT usage on bulk_create().  
						
						... 
						
						
						
						When all values of a field with a db_default are DatabaseDefault, which
is the case most of the time, there is no point in specifying explicit
DEFAULT for all INSERT VALUES as that's what the database will do anyway
if not specified.
In the case of PostgreSQL doing so can even be harmful as it prevents
the usage of the UNNEST strategy and in the case of Oracle, which
doesn't support the usage of the DEFAULT keyword, it unnecessarily
requires providing literal db defaults.
Thanks Lily Foote for the review. 
						
						
					 
					
						2025-02-01 18:43:10 +01:00 
						 
				 
			
				
					
						
							
							
								Thomas Chaumeny 
							
						 
					 
					
						
						
							
						
						89c7454dbd 
					 
					
						
						
							
							Fixed   #34698  -- Made QuerySet.bulk_create() retrieve primary keys when updating conflicts.  
						
						
						
						
					 
					
						2023-07-10 13:17:28 +02:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						72a86ceb33 
					 
					
						
						
							
							Fixed   #34558  -- Fixed QuerySet.bulk_create() crash with Now() on Oracle.  
						
						
						
						
					 
					
						2023-05-11 18:22:55 +02:00 
						 
				 
			
				
					
						
							
							
								DevilsAutumn 
							
						 
					 
					
						
						
							
						
						4035bab56f 
					 
					
						
						
							
							Fixed   #34171  -- Fixed QuerySet.bulk_create() on fields with db_column in unique_fields/update_fields.  
						
						... 
						
						
						
						Bug in 0f6946495a 
						
						
					 
					
						2022-11-22 14:47:21 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						7d5329852f 
					 
					
						
						
							
							Fixed   #34177  -- Fixed QuerySet.bulk_create() crash on "pk" in unique_fields.  
						
						... 
						
						
						
						Bug in 0f6946495a 
						
						
					 
					
						2022-11-22 14:26:23 +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 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								sean_c_hsu 
							
						 
					 
					
						
						
							
						
						0f6946495a 
					 
					
						
						
							
							Fixed   #31685  -- Added support for updating conflicts to QuerySet.bulk_create().  
						
						... 
						
						
						
						Thanks Florian Apolloner, Chris Jerdonek, Hannes Ljungberg, Nick Pope,
and Mariusz Felisiak for reviews. 
						
						
					 
					
						2022-01-19 20:17:42 +01: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 
						 
				 
			
				
					
						
							
							
								Hannes Ljungberg 
							
						 
					 
					
						
						
							
						
						10f8b82d19 
					 
					
						
						
							
							Fixed   #29497  -- Fixed loss of assigned parent when saving child with bulk_create() after parent.  
						
						
						
						
					 
					
						2020-10-26 12:00:34 +01:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						83f55aafdd 
					 
					
						
						
							
							Fixed   #17653  -- Allowed using zero as AutoFields value on MySQL if NO_AUTO_VALUE_ON_ZERO SQL mode is enabled.  
						
						
						
						
					 
					
						2020-07-20 09:48:31 +02:00 
						 
				 
			
				
					
						
							
							
								Hans Aarne Liblik 
							
						 
					 
					
						
						
							
						
						a21f7b91db 
					 
					
						
						
							
							Fixed   #31301  -- Fixed crash of QuerySet.bulk_create() with mixed empty and set ForeignKeys to AutoFields on Oracle.  
						
						
						
						
					 
					
						2020-02-28 12:56:03 +01:00 
						 
				 
			
				
					
						
							
							
								Adam Johnson 
							
						 
					 
					
						
						
							
						
						382af9b141 
					 
					
						
						
							
							Fixed   #31003  -- Doc'd and tested return value of QuerySet.bulk_create().  
						
						
						
						
					 
					
						2020-02-10 08:36:50 +01:00 
						 
				 
			
				
					
						
							
							
								Ahmet Kucuk 
							
						 
					 
					
						
						
							
						
						09578f6dfb 
					 
					
						
						
							
							Fixed   #30827  -- Made batch_size arg of QuerySet.bulk_create() respect DatabaseOperations.bulk_batch_size().  
						
						... 
						
						
						
						Thanks Chetan Khanna for tests. 
						
						
					 
					
						2019-10-21 11:46:44 +02:00 
						 
				 
			
				
					
						
							
							
								Ahmet Kucuk 
							
						 
					 
					
						
						
							
						
						dc890bef5a 
					 
					
						
						
							
							Fixed   #30510  -- Fixed crash of QuerySet.bulk_create() with mixed-length texts on Oracle.  
						
						... 
						
						
						
						Text with more than 4000 characters must be set to as a CLOB on Oracle
what caused a mixed datatype error (ORA-01790) when shorter text
appeared in the same operation. 
						
						
					 
					
						2019-10-01 12:38:58 +02:00 
						 
				 
			
				
					
						
							
							
								Johannes Hoppe 
							
						 
					 
					
						
						
							
						
						b131f9c79f 
					 
					
						
						
							
							Refs  #29444  -- Renamed DatabaseFeatures.can_return_id* to be generic for other columns.  
						
						
						
						
					 
					
						2019-01-30 15:31:56 -05:00 
						 
				 
			
				
					
						
							
							
								Nick Pope 
							
						 
					 
					
						
						
							
						
						e626a3f993 
					 
					
						
						
							
							Renamed Sqlite and Sqlite3 references to SQLite.  
						
						
						
						
					 
					
						2018-12-22 18:52:54 -05:00 
						 
				 
			
				
					
						
							
							
								Tom 
							
						 
					 
					
						
						
							
						
						f1fbef6cd1 
					 
					
						
						
							
							Fixed   #28668  -- Allowed QuerySet.bulk_create() to ignore insert conflicts.  
						
						
						
						
					 
					
						2018-08-03 17:40:46 -04:00 
						 
				 
			
				
					
						
							
							
								Oscar Esgalha 
							
						 
					 
					
						
						
							
						
						6d1f576945 
					 
					
						
						
							
							Fixed   #29367  -- Fixed model state on objects with a primary key created with QuerySet.bulk_create().  
						
						
						
						
					 
					
						2018-04-27 17:57:38 -04:00 
						 
				 
			
				
					
						
							
							
								Tim Graham 
							
						 
					 
					
						
						
							
						
						b17c1d53fd 
					 
					
						
						
							
							Removed unused query log clearing in bulk_create tests.  
						
						
						
						
					 
					
						2018-01-12 18:44:36 -05:00 
						 
				 
			
				
					
						
							
							
								Mads Jensen 
							
						 
					 
					
						
						
							
						
						a51c4de194 
					 
					
						
						
							
							Used assertRaisesMessage() to test Django's error messages.  
						
						
						
						
					 
					
						2017-07-29 19:07:23 -04:00 
						 
				 
			
				
					
						
							
							
								Mariusz Felisiak 
							
						 
					 
					
						
						
							
						
						dc811cf503 
					 
					
						
						
							
							Refs  #22144  -- Added test for QuerySet.bulk_create() with long non-ASCII text.  
						
						
						
						
					 
					
						2017-02-24 10:54:10 -05:00 
						 
				 
			
				
					
						
							
							
								Mikhail Nacharov 
							
						 
					 
					
						
						
							
						
						c4e2fc5d98 
					 
					
						
						
							
							Fixed   #22669  -- Fixed QuerySet.bulk_create() with empty model fields on Oracle.  
						
						
						
						
					 
					
						2017-02-09 18:47:08 -05:00 
						 
				 
			
				
					
						
							
							
								Mads Jensen 
							
						 
					 
					
						
						
							
						
						ebf34c3cdc 
					 
					
						
						
							
							Removed unused variables that are overwritten.  
						
						
						
						
					 
					
						2017-01-25 09:14:05 -05:00 
						 
				 
			
				
					
						
							
							
								Claude Paroz 
							
						 
					 
					
						
						
							
						
						d7b9aaa366 
					 
					
						
						
							
							Refs  #23919  -- Removed encoding preambles and future imports  
						
						
						
						
					 
					
						2017-01-18 09:55:19 +01:00 
						 
				 
			
				
					
						
							
							
								David Barragán Merino 
							
						 
					 
					
						
						
							
						
						b3bd3aa07c 
					 
					
						
						
							
							Fixed   #27385  -- Fixed QuerySet.bulk_create() on PostgreSQL when the number of objects is a multiple plus one of batch_size.  
						
						
						
						
					 
					
						2016-10-25 19:21:08 -04:00 
						 
				 
			
				
					
						
							
							
								Sjoerd Job Postmus 
							
						 
					 
					
						
						
							
						
						3246d2b4bb 
					 
					
						
						
							
							Fixed   #27026  -- Fixed state initialization of bulk_create() objects if can_return_ids_from_bulk_insert.  
						
						
						
						
					 
					
						2016-08-06 10:24:57 -04:00 
						 
				 
			
				
					
						
							
							
								acrefoot 
							
						 
					 
					
						
						
							
						
						04240b2365 
					 
					
						
						
							
							Refs  #19527  -- Allowed QuerySet.bulk_create() to set the primary key of its objects.  
						
						... 
						
						
						
						PostgreSQL support only.
Thanks Vladislav Manchev and alesasnouski for working on the patch. 
						
						
					 
					
						2016-03-02 14:29:09 -05:00 
						 
				 
			
				
					
						
							
							
								Josh Soref 
							
						 
					 
					
						
						
							
						
						93452a70e8 
					 
					
						
						
							
							Fixed many spelling mistakes in code, comments, and docs.  
						
						
						
						
					 
					
						2015-12-03 12:48:24 -05:00 
						 
				 
			
				
					
						
							
							
								Tim Graham 
							
						 
					 
					
						
						
							
						
						7a5b7e35bf 
					 
					
						
						
							
							Fixed   #22705  -- Fixed QuerySet.bulk_create() on models without any fields on Oracle.  
						
						... 
						
						
						
						Fixed on other backends by 134ca4d438 
						
						
					 
					
						2015-10-09 14:16:06 -04:00 
						 
				 
			
				
					
						
							
							
								Alex Hill 
							
						 
					 
					
						
						
							
						
						134ca4d438 
					 
					
						
						
							
							Fixed   #24509  -- Added Expression support to SQLInsertCompiler  
						
						
						
						
					 
					
						2015-09-22 23:35:24 +10:00 
						 
				 
			
				
					
						
							
							
								William Schwartz 
							
						 
					 
					
						
						
							
						
						9a5cfa05a0 
					 
					
						
						
							
							Fixed   #24997  -- Enabled bulk_create() on proxy models  
						
						
						
						
					 
					
						2015-07-02 13:53:51 -04:00 
						 
				 
			
				
					
						
							
							
								Tim Graham 
							
						 
					 
					
						
						
							
						
						0ed7d15563 
					 
					
						
						
							
							Sorted imports with isort; refs  #23860 .  
						
						
						
						
					 
					
						2015-02-06 08:16:28 -05:00 
						 
				 
			
				
					
						
							
							
								Berker Peksag 
							
						 
					 
					
						
						
							
						
						f7969b0920 
					 
					
						
						
							
							Fixed   #23620  -- Used more specific assertions in the Django test suite.  
						
						
						
						
					 
					
						2014-11-03 11:56:37 -05:00 
						 
				 
			
				
					
						
							
							
								Aymeric Augustin 
							
						 
					 
					
						
						
							
						
						cfcca7ccce 
					 
					
						
						
							
							Fixed   #3711 ,  #6734 ,  #12581  -- Bounded connection.queries.  
						
						... 
						
						
						
						Prevented unlimited memory consumption when running background tasks
with DEBUG=True.
Thanks Rob, Alex, Baptiste, and others. 
						
						
					 
					
						2014-06-07 14:37:43 +02:00 
						 
				 
			
				
					
						
							
							
								Vajrasky Kok 
							
						 
					 
					
						
						
							
						
						d3cf6cfacf 
					 
					
						
						
							
							Fixed   #17713  -- Renamed BaseDatabaseFeatures.allows_primary_key_0 to allows_auto_pk_0.  
						
						... 
						
						
						
						MySQL does allow primary key with value 0. It only forbids autoincrement
primary key with value 0.
Thanks Claude Paroz for the report. 
						
						
					 
					
						2014-02-06 05:16:40 -05:00 
						 
				 
			
				
					
						
							
							
								Aymeric Augustin 
							
						 
					 
					
						
						
							
						
						e32095616c 
					 
					
						
						
							
							Imported override_settings from its new location.  
						
						
						
						
					 
					
						2013-12-23 21:37:56 +01:00 
						 
				 
			
				
					
						
							
							
								Alex Gaynor 
							
						 
					 
					
						
						
							
						
						c347f78cc1 
					 
					
						
						
							
							Fixed all E226 violations  
						
						
						
						
					 
					
						2013-11-03 10:08:55 -08:00 
						 
				 
			
				
					
						
							
							
								Alasdair Nicol 
							
						 
					 
					
						
						
							
						
						dfb4cb9970 
					 
					
						
						
							
							Fixed   #21285  -- Fixed E121,E122 pep8 warnings  
						
						
						
						
					 
					
						2013-10-17 20:20:11 -04:00 
						 
				 
			
				
					
						
							
							
								Claude Paroz 
							
						 
					 
					
						
						
							
						
						5c1143910e 
					 
					
						
						
							
							Removed most of absolute_import imports  
						
						... 
						
						
						
						Should be unneeded with Python 2.7 and up.
Added some unicode_literals along the way. 
						
						
					 
					
						2013-07-29 20:28:13 +02:00 
						 
				 
			
				
					
						
							
							
								Florian Apolloner 
							
						 
					 
					
						
						
							
						
						89f40e3624 
					 
					
						
						
							
							Merged regressiontests and modeltests into the test root.  
						
						
						
						
					 
					
						2013-02-26 14:36:57 +01:00