Opened 12 years ago

Closed 7 years ago

#18669 closed Bug (fixed)

QuerySet.bulk_create should batch if no AutoField

Reported by: Jeremy Dunck Owned by: Jeremy Dunck
Component: Database layer (models, ORM) Version: 1.4
Severity: Normal Keywords: QuerySet.bulk_create
Cc: Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

.bulk_create branches on can_combine_inserts_with_and_without_auto_increment_pk *and* _meta.has_auto_field, but it should be
can_combine_inserts_with_and_without_auto_increment_pk or not _meta.has_auto_field.

https://github.com/django/django/blob/f3c9a16a423c90baaf3804cb050d320741f799a2/django/db/models/query.py#L421

This buglet means that even if the model doesn't have an autofield, the list will be partitioned into models with and without the PK, resulting in unnecessary query executions.

I'm assigning myself as owner because I intend to patch it.

Change History (4)

comment:1 by Anssi Kääriäinen, 11 years ago

Triage Stage: UnreviewedAccepted
Type: UncategorizedBug

Looks like a bug to me.

comment:2 by Tim Graham, 9 years ago

Keywords: QuerySet.bulk_create added

comment:3 by Mariusz Felisiak, 7 years ago

I think that this ticket can be closed due to 274b2277.

comment:4 by Tim Graham, 7 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.
Back to Top