如何解决Django Factory Boy 和 Faker 总是返回相同的值
我正在尝试生成虚拟数据,我在多个选项中有一个可选字段,但始终生成相同的扇区
models.py:
SECTOR = (("1",_("Administración y gestión")),("2",_("Agricultura y ganadería")),("3",_("Industria alimentaria")),("4",_("Grandes almacenes")),("5",_("Comercio")),("6",_("Construcción e industrias extractivas")),("7",_("Actividades físico-deportivas")))
class Company(TimeEntity):
...
sector = models.CharField(verbose_name=_("Sector"),max_length=20,choices=SECTOR,default=1)
工厂.py:
SECTOR_FACTORY = list(map(lambda x: x[0],app_models.SECTOR))
class CompanyFactory(DjangoModelFactory):
class Meta:
model = app_models.Company
sector = fake.random_choices(elements=SECTOR_FACTORY,length=1)
解决方法
使用正确的代码更新
from factory.fuzzy import FuzzyChoice
SECTOR_FACTORY = list(map(lambda x: x[0],app_models.SECTOR))
class CompanyFactory(DjangoModelFactory):
class Meta:
model = app_models.Company
sector = FuzzyChoice(SECTOR_FACTORY)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。