Skip to content

Model Bakery: Smart fixtures for better tests

BuildCoverageLatest PyPI versionDocumentation Status

Model Bakery offers you a smart way to create fixtures for testing in Django. With a simple and powerful API, you can create many objects with a single line of code.

Installation

pip install model-bakery

Supported Versions

Model Bakery follows the Python and Django release and support cycles. We drop support for Python and Django versions when they reach end-of-life.

Basic usage

# models.pyfromdjango.dbimportmodelsclassCustomer(models.Model):
name=models.CharField(max_length=30)
email=models.EmailField()
age=models.IntegerField()
is_jards_macale_fan=models.BooleanField()
bio=models.TextField()
birthday=models.DateField()
last_shopping=models.DateTimeField()
# test_models.pyfromdjango.testimportTestCasefrommodel_bakeryimportbakerclassTestCustomerModel(TestCase):
defsetUp(self):
self.customer=baker.make('shop.Customer')
print(self.customer.__dict__)
"""{'_state': <django.db.models.base.ModelState object at 0x1129a3240>, 'age': 3841, 'bio': 'vUFzMUMyKzlnTyiCxfgODIhrnkjzgQwHtzIbtnVDKflqevczfnaOACkDNqvCHwvtWdLwoiKrCqfppAlogSLECtMmfleeveyqefkGyTGnpbkVQTtviQVDESpXascHAluGHYEotSypSiHvHzFteKIcUebrzUVigiOacfnGdvijEPrZdSCIIBjuXZMaWLrMXyrsUCdKPLRBRYklRdtZhgtxuASXdhNGhDsrnPHrYRClhrSJSVFojMkUHBvSZhoXoCrTfHsAjenCEHvcLeCecsXwXgWJcnJPSFdOmOpiHRnhSgRF', 'birthday': datetime.date(2019, 12, 3), 'email': 'rpNATNsxoj@example.com', 'is_jards_macale_fan': True, 'id': 1, 'last_shopping': datetime.datetime(2019, 12, 3, 21, 42, 34, 77019), 'name': 'qiayYnESvqcYLLBzxpFOcGBIfnQEPx'}"""

Documentation

For more detailed information, check out the full documentation.

Contributing

As an open-source project, Model Bakery welcomes contributions of many forms:

  • Code patches
  • Documentation improvements
  • Bug reports

Take a look at our contribution guidelines for instructions on how to set up your local environment.

Maintainers

Contributors

Model Bakery is built by its community. See the full list of contributors.

Project history

Model Bakery was originally created by Vanderson Mota as Model Mommy. The project was previously maintained in the berinhard/model_mommy repository before being renamed and moved here.

Sponsors

Sponsors

License

Model Bakery is licensed under Apache License 2.0. See the LICENSE file for more information.

About

Object factory for Django

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1.0k stars

Watchers

12 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages