什么相当于SQLAlchemy中的Django的auto_now,auto_now_add?

zch*_*nah 12 python django sqlalchemy date

在Django中,我们可以在创建日期列时使用这两个参数:

DateField.auto_now每次保存对象时自动将字段设置为now.对"最后修改"的时间戳有用.请注意,始终使用当前日期; 它不仅仅是您可以覆盖的默认值.

DateField.auto_now_add首次创建对象时自动将字段设置为now.用于创建时间戳.请注意,始终使用当前日期; 它不仅仅是您可以覆盖的默认值.

如何在SQLAlchemy中执行此操作?

zch*_*nah 25

最后,我检查SQLAlchemy的doc,这应该是这样的:

Column('created_on', DateTime, default=datetime.datetime.now)

Column('last_updated', DateTime, onupdate=datetime.datetime.now)
Run Code Online (Sandbox Code Playgroud)

doc在这里:

http://docs.sqlalchemy.org/en/latest/core/defaults.html#python-executed-functions

  • 实际上这不太正确.为了模仿Django,`last_updated`字段应该是`Column('last_updated',DateTime,default = datetime.now(),onupdate = datetime.now())` - 因为Django在创建时将`auto_now`字段设置为`now` . (5认同)