我的模型中有一个带有 JSONField 类型(MYSQL 实现)的字段。我想使用 FactoryBoy Faker 伪造该字段的数据。
我怎样才能做到这一点?
我的模型中有一个带有 JSONField 类型(MYSQL 实现)的字段。我想使用 FactoryBoy Faker 伪造该字段的数据。
我怎样才能做到这一点?
您可以通过创建一个返回 dict 而不是单个字符串的函数来解决此问题,data 是 User 模型中的 JSONField。您还可以将相同的代码与 PostgreSql JSONField 一起使用,它还会在模型字段中返回一个字典。
import factory
def sequence(number):
"""
:param number:
:return: a dict that contains random data
"""
return {
'email': 'example{0}@foo.com'.format(number),
'username': 'username{0}'.format(number),
}
class UserFactory(factory.django.DjangoModelFactory):
data = factory.Sequence(sequence)
class Meta:
model = 'users.User'