Перезаписать auto_now для unittest

Я определил некоторые временные метки для событий в базе данных какauto_now_add, поскольку информация должна храниться с ее отметкой времени в то же время, когда сохраняется событие.

Описание событий что-то вроде

class NewEvent(models.Model):
    '''
    Individual event
    '''
    name = models.CharField(max_length=100)
    quantity = models.FloatField(null=True)
    timestamp = models.DateTimeField(auto_now_add=True)

Чтобы проверить модуль, я генерирую некоторую информацию в базе данных вtest.py файл, таким образом:

    for event in EVENT_TYPES:
        time = datetime.datetime.now() - datetime.timedelta(days=1)
        for i in range(48):
            time = time.replace(hour=i / 2)
            NewEvent(name=event,
                     timestamp=time,
                     quantity=i).save()

Я должен генерировать события с отметкой времени вчерашнего дня (модуль затем суммирует их). Проблема в том, что вы не можете перезаписать метку времени. Временная метка это та, когда происходит событие,документация утверждает, что очень четко.

Итак, как генерировать данные с соответствующими временными метками для тестирования? У меня было несколько идей:

Может быть, генерировать данные базы данных другим способом, вне классов Model. Где и как?Как-то определить другой класс или изменить класс, чтобы вести себя по-разному во время теста, что-то вроде

_

 if testing:
     timestamp = models.DateTimeField(auto_now_add=True)
 else:
     timestamp = models.DateTimeField(auto_now_add=False)

Или, может быть, есть еще более простой способ сделать это ... Есть идеи?

Ответы на вопрос(3)

Ваш ответ на вопрос