我正在尝试创建一个模型实例,其中一个字段是JSONField
. 通过创建模型实例时factoryboy
,我想将该字段另存为 JSONField 在测试数据库中。只需将字段传递为JSON
,它就会存储在Unicode
数据类型中。我坚持这一点。
问问题
3108 次
2 回答
14
您可以使用factory.Dict
. 然后,您可以使用该dict_factory
属性控制数据的最终形式。
例如,如果您想要将dict
数据序列化为 JSON 字符串,您可以执行以下操作:
import json
import factory
class JSONFactory(factory.DictFactory):
"""
Use with factory.Dict to make JSON strings.
"""
@classmethod
def _generate(cls, create, attrs):
obj = super()._generate(create, attrs)
return json.dumps(obj)
class BadgerFactory(factory.Factory):
form_data = factory.Dict({
'badger': ['stoat'],
}, dict_factory=JSONFactory)
class Meta:
model = ...
于 2016-12-14T23:52:41.633 回答
-1
您是否尝试过将值作为字典传递?然后必须将其转换为 JSON。
于 2016-09-20T16:19:45.280 回答