Итак, я работал в каком-то приложении, используя пакет factory_boy для генерации случайных данных, и я страдаю из-за провайдера даты :(
class MyModel(models.Model):
date = models.DateField()
class MyModelFactory(factory.DjangoModelFactory):
date = factory.Faker('date')
class Meta:
model = MyModel
my_model = MyModelFactory()
my_model.date # -05-20'
Кто-то знает, как заставить фейкер вернуть объект с реальной датой?
Всего 2 ответа
Просто конвертируйте его в дату, как только получите.
date = datetime.strptime(factory.Faker('date'), "%b-%d-%y")
Поставщик date
возвращает строку, а не объект date
. Вам нужно использовать провайдера date_object
:
class MyModelFactory(factory.DjangoModelFactory):
date = factory.Faker('date_object')