4

我的模型中有一个带有 JSONField 类型(MYSQL 实现)的字段。我想使用 FactoryBoy Faker 伪造该字段的数据。

我怎样才能做到这一点?

4

1 回答 1

3

您可以通过创建一个返回 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'
于 2017-11-09T13:27:00.450 回答