datetime в определении базы данных с использованием sqlalchemy

Должен ли я использовать () с datetime.now в определении таблиц? Какой код неправильный 1 или 2?

1:

Base = declarative_base() class T(Base): __tablename__ = 't' created = Column(DateTime, default=datetime.now) 

2:

 Base = declarative_base() class T(Base): __tablename__ = 't' created = Column(DateTime, default=datetime.now()) 

One Solution collect form web for “datetime в определении базы данных с использованием sqlalchemy”

Вам нужен первый случай. То, что вы делаете, говорит SqlAlchemy, как всякий раз, когда вставлена ​​строка, запустите эту функцию (вызываемую), чтобы получить значение по умолчанию. Это может быть любая вызываемая функция или строковое значение.

Таким образом, функция вызывается точно во время вставки, и вы получаете правильную дату, в которую она была вставлена.

Если вы используете второе значение, вы обнаружите, что все значения по умолчанию используют одно и то же время. Это будет значение, которое произошло при первом обращении кода.

http://www.sqlalchemy.org/docs/core/schema.html?highlight=default#sqlalchemy.schema.ColumnDefault

 This could correspond to a constant, a callable function, or a SQL clause. 
  • Как фильтровать запрос в sqlalchemy по году (столбец datetime)
  • Отношение сеанса и соединения SQLAlchemy
  • Как получить количество затронутых строк в sqlalchemy?
  • SQLAlchemy - Словарь тегов
  • SQLAlchemy - сопоставление самореферентных отношений как одного для многих (декларативная форма)
  • SQLAlchemy Automap не создает класс для таблиц без первичного ключа
  • python cx oracle ожидает строку, юникод или буферный объект
  • Диалог настройки SQLAlchemy Flask
  • Создайте динамическую форму, используя флягу-wtf и sqlalchemy
  • Массовые сберегательные объекты SQLAlchemy
  • SQLAlchemy ON DUPLICATE KEY UPDATE
  • Python - лучший язык программирования в мире.