小编Mat*_*ser的帖子

在 Django 中的数据模型工厂的字典中使用 Factory Boy?或者,让 FactoryBoy 按需评估子工厂?

我有以下模型工厂:

class ProjectDataModelFactory(DjangoModelFactory):
    project = factory.SubFactory("projects.factories.ProjectModelFactory")
    version = "1"
    content = {
        "id": {"value": fuzzy.FuzzyText(length=7, chars=string.ascii_letters).fuzz().upper(), "type": "string"},
        "win_probability": {"value": fuzzy.FuzzyInteger(0, 100).fuzz(), "type": "number"},
        "bid_value": {
            "value": fuzzy.FuzzyInteger(0, 10000000).fuzz(),
            "type": "number",
        },
        "status": {"value": random.choice(["Won", "Lost"]), "type": "string"},
        "sector": {
            "value": random.choice(
                ["Construction", "Technology", "Finance", "Consulting", "Agriculture", "Engineering"]
            ),
            "type": "string",
        },
    } 
Run Code Online (Sandbox Code Playgroud)

在 中content["id"],我希望用valuebeproject.external_id代替fuzzy.FuzzyText(length=7, chars=string.ascii_letters).fuzz().upper(). external_idis 的一部分,ProjectModel.但是当我放入project.external_id模糊器的位置时,出现此错误:

AttributeError:“SubFactory”对象没有属性“external_id”

这似乎只是字典的问题。我们在其他情况下使用它没有遇到问题。

我没有太多使用 FactoryBoy 的经验,所以它很容易变得微不足道。有任何想法吗?

django factory-boy

2
推荐指数
1
解决办法
3215
查看次数

标签 统计

django ×1

factory-boy ×1