django - Django Factory Boy 和 Faker 总是返回相同的值
问题描述
我正在尝试生成虚拟数据,并且我在几个选项中有一个可选字段,但始终生成相同的扇区
模型.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)
推荐阅读
- google-sheets - 为什么这个查询函数返回不正确的结果?
- c# - Azure BlobBaseClient.OpenReadAsync() 导致:System.InvalidOperationException:响应内容长度不匹配:写入的字节太少(...)
- python - 以长格式保存具有不同级别名称的多索引列 Pandas 为 excel 格式
- javascript - 在 Laravel-8 中使用 ajax 请求和 sweet alert2 删除项目
- javascript - 无ID访问iframe src
- tree - 如果我已登录,MediaWiki 中的 CategoryTree 扩展将不会更新
- angular - TypeError:无法在“FormData”上执行“附加”:参数 2 不是“Blob”类型
- sql-server - 如何在 SQL Server 中使用强制转换和切换函数编写查询?
- postgresql - 在 xml bean 中将会话变量添加到实体管理器工厂以在 Postgres 数据库中访问它
- android-recyclerview - 如何使用 FirestoreRecyclerAdapter 使用不同的布局(左右)进行聊天