python import factory from faker import Faker fake = Faker() class UserFactory(factory.Factory): class Meta: model = User name = factory.Faker('name') email = factory.Faker('email') address = factory.Faker('address') 1. SubFactories python class UserFactory(factory.Factory): class Meta: model = User name = factory.Faker('name') class OrderFactory(factory.Factory): class Meta: model = Order user = factory.SubFactory(UserFactory) product = factory.Faker('word') quantity = factory.Faker('random_int') 2. RelatedFactory python class UserFactory(factory.Factory): class Meta: model = User name = factory.Faker('name') class OrderFactory(factory.Factory): class Meta: model = Order user = factory.RelatedFactory(UserFactory, 'order') product = factory.Faker('word') quantity = factory.Faker('random_int') python class UserFactory(factory.Factory): class Meta: model = User name = factory.Sequence(lambda n: f'User{n}') email = factory.Faker('email') python class UserFactory(factory.Factory): class Meta: model = User name = factory.Faker('name') @factory.post_generation def set_password(self, create, extracted, **kwargs): if not create: return if extracted: self.password = make_password(extracted) python class UserFactory(factory.Factory): class Meta: model = User name = factory.Faker('name') @factory.lazy_attribute def isAdmin(self): return self.name == 'admin'


上一篇:
下一篇:
切换中文