Поставщик даты Factory Boy возвращает строку

Итак, я работал в каком-то приложении, используя пакет 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')

Есть идеи?

10000