diff options
| author | Sarah Boyce <42296566+sarahboyce@users.noreply.github.com> | 2025-01-27 10:28:21 +0100 |
|---|---|---|
| committer | Sarah Boyce <42296566+sarahboyce@users.noreply.github.com> | 2025-01-29 09:11:54 +0000 |
| commit | 5a2c1bc07d126ce32efaa157e712a8f3a7457b74 (patch) | |
| tree | c022d548bbb2f325083575c3c4c229ddae9569d7 /django/db/backends/sqlite3 | |
| parent | 0671a461c44ba4cf97e84b6c88413bed332df314 (diff) | |
Fixed #36118 -- Accounted for multiple primary keys in bulk_update max_batch_size.
Co-authored-by: Simon Charette <charette.s@gmail.com>
Diffstat (limited to 'django/db/backends/sqlite3')
| -rw-r--r-- | django/db/backends/sqlite3/operations.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/django/db/backends/sqlite3/operations.py b/django/db/backends/sqlite3/operations.py index 0078cc077a..08de246d70 100644 --- a/django/db/backends/sqlite3/operations.py +++ b/django/db/backends/sqlite3/operations.py @@ -36,6 +36,16 @@ class DatabaseOperations(BaseDatabaseOperations): If there's only a single field to insert, the limit is 500 (SQLITE_MAX_COMPOUND_SELECT). """ + fields = list( + chain.from_iterable( + ( + field.fields + if isinstance(field, models.CompositePrimaryKey) + else [field] + ) + for field in fields + ) + ) if len(fields) == 1: return 500 elif len(fields) > 1: |
