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
  • UnicodeEncodeError: кодек «latin-1» не может кодировать символы в позиции 0-1: порядковый номер не в диапазоне (256)
  • Flask-SQLAlchemy: не удается повторно подключиться до отмены отката транзакции
  • Возвращение отдельных строк в SQLAlchemy с помощью SQLite
  • Как обернуть столбец в операции CAST
  • используя колбу-sqlalchemy без подкласса декларативной базы
  • SQLAlchemy DateTime часовой пояс
  • Получить связанные модели в SQLAlchemy
  • Подсчет отношений в SQLAlchemy
  • Могу ли я создать временную таблицу в SQLAlchemy без добавления в Table._prefixes?
  • проверьте, является ли .one () пустой sqlAlchemy
  • Python - лучший язык программирования в мире.