Кэшируется ли timzone.now() при использовании в ограничении проверки?
У меня есть поле модели с учетом часового пояса с ограничением CheckConstraint:
class MyModel(models.Model):
    my_text = models.CharField()
    my_date = models.DateTimeField()
    class Meta:
        constraints = [ models.CheckConstraint(
                        check=Q(my_date__lte=django.utils.timezone.now()),
                        name='mycontraint' ]
В моей форме я обрабатываю данные, чтобы добавить my_date вручную:
def form_valid(self, form):
    obj = form.save(commit=False)
    obj.my_date = timezone.now()
    obj.save()
 При сохранении этой модели я получаю new row for relation "mymodel_mydate" violates check constraint 'myconstraint'.
Я знаю, что причина неудачи в том, что время даты для my_date больше, чем timezone.now() в ограничении проверки, но почему это так? Может, timezone.now() в ограничении проверки каким-то образом кэшируется раньше? 
Я могу видеть значение для my_date в отладочной неудачной строке (которое является правильным, в UTC+00 и соответствует моему системному времени, как я ожидаю), однако я не знаю, как сравнить его со значением часового пояса в CheckConstraint?