Получить поля DateTime в UTC из Flask-SQLAlchemy - PullRequest
0 голосов
/ 15 октября 2018

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

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

> show timezone;
UTC

Я попробовал этот подход: https://stackoverflow.com/a/26106482/169691 (не работает)

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()

Есть предложения?

1 Ответ

0 голосов
/ 30 октября 2018

столкнулся с подобной проблемой.

Из Документы SQLAlchemy :

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

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

Я кодировал connect_args.options и в итоге получил

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

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

...