在Factoryboy中重置工厂迭代器

2024-05-12 01:05:42 发布

您现在位置:Python中文网/ 问答频道 /正文

由于工厂将值分配给工厂属性,因此无法对其调用reset。你知道吗

不过,这是可行的:

CODE2_ITERATOR = Iterator(['PH', 'CN', 'SE', 'ES', 'DK' ])

class CountryFactory(DjangoModelFactory):
    class Meta:
    model = Country

    name = 'The Philippines'
    code2 = CODE2_ITERATOR
    phone = "63"

然后在tearDown方法中:

def tearDown(self):
    CODE2_ITERATOR.reset()

但肯定有更好的方法吗?你知道吗


Tags: 方法属性es工厂cnphclassreset
1条回答
网友
1楼 · 发布于 2024-05-12 01:05:42

字段声明在类中保持可用:

CountryFactory.code2.reset()

还可以通过类_meta属性访问工厂的声明对象:

CountryFactory._meta.declarations['code2'].reset()

相关问题 更多 >