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
  • Сохранять изображение, сохраненное в столбце LargeBinary SQLAlchemy
  • удалять взаимно-однозначные отношения в колбе
  • Mapper не мог собрать столбцы первичного ключа
  • Могут ли события SQLAlchemy использоваться для обновления денормализованного кэша данных?
  • Как преобразовать результат SqlAlchemy в JSON?
  • sqlalchemy IS NOT NULL select
  • Flask-SQLAlchemy: не удается повторно подключиться до отмены отката транзакции
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.