Как получить текущую дату и время из БД с помощью SQLAlchemy - PullRequest
5 голосов
/ 29 декабря 2010

Мне нужно получить текущую дату и время для базы данных, к которой я подключен с помощью SQLAlchemy (не дата и время машины, на которой я запускаю код Python). Я видел эти функции, но они, кажется, не делают то, что говорят:

>>> from sqlalchemy import *
>>> print func.current_date()
CURRENT_DATE
>>> print func.current_timestamp()
CURRENT_TIMESTAMP

Более того, кажется, что их не нужно привязывать к какому-либо сеансу или движку SQLAlchemy. Нет смысла ...

Спасибо!

1 Ответ

6 голосов
/ 29 декабря 2010

Я нашел решение: эти функции нельзя использовать так, как я использовал (print...), но их необходимо вызывать из кода, взаимодействующего с базой данных.Например:

print select([my_table, func.current_date()]).execute()

или присвоено полю в операции вставки.Случайно я обнаружил, что существует хотя бы пара параметров для этих функций:

  • type_, который указывает тип возвращаемого значения, я думаю,
  • bind, который указываетпривязка к движку SQLAlchemy

Два примера использования:

func.current_date(type_=types.Date, bind=engine1)
func.current_timestamp(type_=types.Time, bind=engine2)

В любом случае мои тесты, похоже, говорят, что эти параметры не так важны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...