diff --git a/pytest_factoryboy/fixture.py b/pytest_factoryboy/fixture.py index 7b4bdb5..743cd90 100644 --- a/pytest_factoryboy/fixture.py +++ b/pytest_factoryboy/fixture.py @@ -210,7 +210,7 @@ class Factory(factory_class): if argname in request._fixturedef.argnames: kwargs[key] = evaluate(request, request.getfixturevalue(argname)) - strategy = factory.enums.CREATE_STRATEGY + strategy = Factory._meta.strategy builder = factory.builder.StepBuilder(Factory._meta, kwargs, strategy) step = factory.builder.BuildStep(builder=builder, sequence=Factory._meta.next_sequence()) diff --git a/pytest_factoryboy/plugin.py b/pytest_factoryboy/plugin.py index fb143cc..8200169 100644 --- a/pytest_factoryboy/plugin.py +++ b/pytest_factoryboy/plugin.py @@ -1,6 +1,7 @@ """pytest-factoryboy plugin.""" from collections import defaultdict +from factory import enums import pytest @@ -72,7 +73,8 @@ def after_postgeneration(self, request): results = self.results.pop(model) obj = request.getfixturevalue(model) factory = self.model_factories[model] - factory._after_postgeneration(obj, create=True, results=results) + create = factory._meta.strategy == enums.CREATE_STRATEGY + factory._after_postgeneration(obj, create=create, results=results) def evaluate(self, request): """Finalize, run deferred post-generation actions, etc."""