Получить поля DateTime в UTC из Flask-SQLAlchemy

1

Я пытаюсь вернуть значения DateTime в код в часовой пояс UTC с помощью Flask-SQLAlchemy.

Я проверил свой часовой пояс Postgresql DB

> show timezone;
UTC

Я пробовал этот подход: qaru.site/questions/9097685/... (он не работает)

class PGSQLAlchemy(SQLAlchemy):
    def apply_driver_hacks(self, app, info, options):
        options.update({
            'echo': True,
            'connect_args': {
                "options": "-c timezone=utc",
            }
        })
        super(PGSQLAlchemy, self).apply_driver_hacks(app, info, options)


db = PGSQLAlchemy()

Какие-либо предложения?

Теги:
datetime
sqlalchemy
flask-sqlalchemy

1 ответ

0

Вышла аналогичная проблема.

Из документов SQLAlchemy:

Или для базовых аргументов string и integer они обычно могут быть указаны в строке запроса URL-адреса:

e = create_engine ("mysql://scott: tiger @localhost/test? encoding = utf8")

Я urlencoded connect_args.options и закончил с

SQLALCHEMY_DATABASE_URI = 'postgres://{}:{}@{}:{}/{}?options=-c+timezone%3Dutc'.format(
    PG_USER, PG_PASS, PG_HOST, PG_PORT, PG_NAME
)

Исправлено это для меня. Надеюсь это поможет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню