support(bulk-create): add raise_error flag when bulk-create empty models (#853)
* add raise_error flag when bulk-create empty models * if not raise_error, return * fix ut cov * raise exception when it's empty
This commit is contained in:
@ -1134,6 +1134,10 @@ class QuerySet(Generic[T]):
|
||||
:param objects: list of ormar models already initialized and ready to save.
|
||||
:type objects: List[Model]
|
||||
"""
|
||||
|
||||
if not objects:
|
||||
raise ModelListEmptyError("Bulk create objects are empty!")
|
||||
|
||||
ready_objects = [obj.prepare_model_to_save(obj.dict()) for obj in objects]
|
||||
|
||||
# don't use execute_many, as in databases it's executed in a loop
|
||||
|
||||
@ -286,6 +286,9 @@ async def test_bulk_create():
|
||||
completed = await ToDo.objects.filter(completed=True).all()
|
||||
assert len(completed) == 2
|
||||
|
||||
with pytest.raises(ormar.exceptions.ModelListEmptyError):
|
||||
await ToDo.objects.bulk_create([])
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_bulk_create_json_field():
|
||||
|
||||
Reference in New Issue
Block a user