Сравните временную метку Postgresql с временной зоной в запросе sql в django

Когда я запускаю следующий запрос

Viewed.objects.raw('SELECT "recently_viewed_viewed"."id"FROM "recently_viewed_viewed" WHERE NOT ("recently_viewed_viewed"."viewed_date" <= \'timezone.now()\' AND "recently_viewed_viewed"."user_id" = user_id)' )

я получил

DataError: invalid input syntax for type timestamp with time zone: "timezone.now()"

Я боролся с этим, не смог понять это. Любая помощь всегда ценится!

1 ответ

Решение

Джанго ожидать timestamp with time zone Но вы проходите timestamp without time zone, ты должен добавить timezone к вашему времени или сету USE_TZ = False в вашем settings.py,

ты можешь использовать pytz для добавления timezone, или используйте это:

timezone.now().replace(tzinfo=timezone.get_default_timezone())

для изменения timezone с вашей настройкой часового пояса.

Другие вопросы по тегам