Django specific Extensions for Factory Boy
Factory-Man provides Django specific extensions for Factory Boy.
pip install factory-man
FactoryMan provides you with a factory function
create_populated_modelfactory, which accepts the model class and automatically creates a factory class based on the model's fields. If you want to override some fields, you can pass them as keyword arguments to the
from factoryman import create_populated_modelfactory as cpm from .models import Project ProjectFactory = cpm(Project) ExpiredProjectFactory = cpm(Project, deadline='1999-04-04')
To override the factory's
_create method, use
create_override keyword argument. This is useful to create many-to-many connections as described in the Factory Boy documentation.
Check out this article for a more detailed user guide.
factory.Sequence to provide a little more DRY syntax. It takes in a
string parameter and uses it to create a unique value for each object by adding
-n to the string, where
n is the count of objects created.
When working with Django,
ModelFieldSequence can also accept a
model parameter instead of
model should be a Django model. The name of the model and the field to which
ModelFieldSequence is signed to are used to automatically create the
model can also be used as a positional argument.
from factory.django import DjangoModelFactory as ModelFactory from factoryman import ModelFieldSequence class CharityFactory(ModelFactory): class Meta: model = Charity name = ModelFieldSequence(Charity) # Will be `Charity__name-n`, where n is the object count email = ModelFieldSequence(firstname.lastname@example.org') # Will be `email@example.com`, where n is the object count
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for factory_man-1.0.1-py3-none-any.whl