Skip to content

Commit cc6f205

Browse files
committed
Add default values
1 parent 5c72316 commit cc6f205

File tree

1 file changed

+19
-18
lines changed

1 file changed

+19
-18
lines changed

cvat/apps/engine/model_utils.py

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -25,37 +25,38 @@ class Undefined:
2525

2626

2727
_ModelT = TypeVar("_ModelT", bound=models.Model)
28+
_unspecified = object()
2829

2930

3031
def bulk_create(
3132
db_model: type[_ModelT],
3233
objs: Iterable[_ModelT],
3334
*,
34-
batch_size: int | None = ...,
35-
ignore_conflicts: bool = ...,
36-
update_conflicts: bool | None = ...,
37-
update_fields: Sequence[str] | None = ...,
38-
unique_fields: Sequence[str] | None = ...,
35+
batch_size: int | None = _unspecified,
36+
ignore_conflicts: bool = False,
37+
update_conflicts: bool | None = False,
38+
update_fields: Sequence[str] | None = None,
39+
unique_fields: Sequence[str] | None = None,
3940
) -> list[_ModelT]:
40-
"Like Django's Model.objects.bulk_create(), but applies the default batch size"
41+
"""
42+
Like Django's Model.objects.bulk_create(), but applies the default batch size configured by
43+
the DEFAULT_DB_BULK_CREATE_BATCH_SIZE setting.
44+
"""
4145

42-
if batch_size is Ellipsis:
46+
if batch_size is _unspecified:
4347
batch_size = settings.DEFAULT_DB_BULK_CREATE_BATCH_SIZE
4448

45-
kwargs = {}
46-
for k, v in {
47-
"ignore_conflicts": ignore_conflicts,
48-
"update_conflicts": update_conflicts,
49-
"update_fields": update_fields,
50-
"unique_fields": unique_fields,
51-
}.items():
52-
if v is not Ellipsis:
53-
kwargs[k] = v
54-
5549
if not objs:
5650
return []
5751

58-
return db_model.objects.bulk_create(objs, batch_size=batch_size, **kwargs)
52+
return db_model.objects.bulk_create(
53+
objs,
54+
batch_size=batch_size,
55+
ignore_conflicts=ignore_conflicts,
56+
update_conflicts=update_conflicts,
57+
update_fields=update_fields,
58+
unique_fields=unique_fields,
59+
)
5960

6061

6162
def is_prefetched(queryset: models.QuerySet, field: str) -> bool:

0 commit comments

Comments
 (0)