Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将生成器传递给django autofixture中的字段_值_Python_Django_Generator - Fatal编程技术网

Python 将生成器传递给django autofixture中的字段_值

Python 将生成器传递给django autofixture中的字段_值,python,django,generator,Python,Django,Generator,参考,我编写了以下代码(为简洁起见进行了编辑): 好,, 现在,当我把数据库都设置好了,我会给自己筛选一个列表, 去吧 我没有得到预期的随机状态字符串,而是得到以下输出: 生成器对象随机_状态_生成器位于0x242c640> 这不是我根据文档所期望的,特别是 字段值:以模型字段名为键的字典。值可以是分配给字段的静态值、动态生成值的生成器实例或不带参数并返回所需值的可调用值 我做错了什么?好的,字段_值从autofixture.generators获取了一个类实例,所以我所要做的就是: 生成国

参考,我编写了以下代码(为简洁起见进行了编辑):

好,, 现在,当我把数据库都设置好了,我会给自己筛选一个列表, 去吧

我没有得到预期的随机状态字符串,而是得到以下输出:

生成器对象随机_状态_生成器位于0x242c640>

这不是我根据文档所期望的,特别是

字段值:以模型字段名为键的字典。值可以是分配给字段的静态值、动态生成值的生成器实例或不带参数并返回所需值的可调用值


我做错了什么?

好的,字段_值从autofixture.generators获取了一个类实例,所以我所要做的就是: 生成国家名单

from autofixture.generators import ChoicesGenerator
states = "waiting|email|post|einv".split('|')
rsg = ChoicesGenerator(values=states)
self.create_test_foo(10, values={'state': rsg})

误解源于将autofixture的生成器与通用python生成器混淆。

如果您只需要一些可以使用的原始数据:
def create_doctor():
如果Doctor.objects.all().count()=0:
随机输入
有效项=['Hart'、'rent'、'Lungs'、'Ear'、'Bones']
对于范围(10)内的i:
夹具=自动夹具(医生,
字段值={'user\u name':'GauravTyagi','speciality':random.choice(avail\u item)})
fixture.create(1)
其他:
打印“医生存在于表中……”《‘‘‘‘‘‘‘‘‘‘‘‘)’”

   rsg = self.random_state_generator()
   self.create_test_foo(10, values={'state': rsg})
    field_values = dict(field_values.items() + values.items())
    foo_fixture = AutoFixture(FooClass, overwrite_defaults=True, 
                              generate_fk=generate_fk_values,
                              field_values=field_values)
    bunch_of_stuff = foo_fixture.create(foo_count)
for foo in bunch_of_stuff: print (foo.state)
from autofixture.generators import ChoicesGenerator
states = "waiting|email|post|einv".split('|')
rsg = ChoicesGenerator(values=states)
self.create_test_foo(10, values={'state': rsg})