У меня есть поле в моей модели с типом JSONField (реализация MYSQL). Я хочу подделать данные для этого поля с помощью FactoryBoy Faker.
Как я могу этого добиться?
У меня есть поле в моей модели с типом JSONField (реализация MYSQL). Я хочу подделать данные для этого поля с помощью FactoryBoy Faker.
Как я могу этого добиться?
Вы можете решить эту проблему, создав функцию, которая возвращает словарь вместо одной строки, данные — это JSONField в модели пользователя. Вы также можете использовать этот же код с PostgreSql JSONField, он также возвращает dict в поле модели.
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'