Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion model_bakery/recipe.py
Original file line number Diff line number Diff line change
Expand Up @@ -164,9 +164,11 @@ def prepare(
**attrs: Any,
) -> Union[M, List[M]]:
defaults = {
"_quantity": _quantity,
"_save_related": _save_related,
}
if _quantity is not None:
defaults["_quantity"] = _quantity # type: ignore[assignment]

defaults.update(attrs)
return baker.prepare(
self._model, _using=_using, **self._mapping(_using, defaults)
Expand Down
8 changes: 8 additions & 0 deletions tests/test_baker.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@
)
from model_bakery.timezone import tz_aware
from tests.generic import models
from tests.generic.baker_recipes import lonely_person
from tests.generic.forms import DummyGenericIPAddressFieldForm
from tests.generic import baker_recipes


def test_import_seq_from_baker():
Expand Down Expand Up @@ -286,6 +288,12 @@ def test_create_one_to_one(self):
assert lonely_person.pk is None
assert lonely_person.only_friend.pk

def test_recipe_prepare_model_with_one_to_one_and_save_related(self):
lonely_person = baker_recipes.lonely_person.prepare(_save_related=True)

assert lonely_person.pk is None
assert lonely_person.only_friend.pk


@pytest.mark.django_db
class TestBakerCreatesAssociatedModels(TestCase):
Expand Down