生成一致的人员数据

war*_*iuc 6 python

我想用Faker来生成一些测试数据。

但是我无法为单个用户生成一致的数据:

>>> from faker import Factory

>>> fake = Factory.create()

>>> fake.name()
>>> u'Tayshaun Corkery'

>>> fake.email()
>>> u'kaitlynn40@yahoo.com'
Run Code Online (Sandbox Code Playgroud)

如您所见,电子邮件并未反映之前生成的名称。文档说:

每次调用方法都会fake.name()产生不同的(随机)结果。这是因为 faker 将faker.Generator.method_name()调用转发到faker.Generator.format(method_name)

有没有办法在不编写大量额外代码的情况下生成一致的个人数据?

小智 1

您可以使用Factory_Boy来实现。它带有内置的 Faker,允许您使用先前的数据从已生成的属性(例如姓名)创建“惰性”属性(例如电子邮件)。