我应该在定义表时将()与datetime.now一起使用吗?什么代码错误1或2?
一:
Base = declarative_base()
class T(Base):
__tablename__ = 't'
created = Column(DateTime, default=datetime.now)
二:
Base = declarative_base()
class T(Base):
__tablename__ = 't'
created = Column(DateTime, default=datetime.now())
你想要第一个案子。您要做的是告诉SqlAlchemy,无论何时插入行,都要运行此函数(可调用)以获取默认值。可以是任何可调用函数或字符串值。
这样就可以在插入时准确地调用该函数,并得到正确的插入日期。
如果使用第二个值,您将发现所有默认值共享相同的日期时间。这将是第一次处理代码时出现的值。
http://www.sqlalchemy.org/docs/core/schema.html?highlight=default#sqlalchemy.schema.ColumnDefault
相关问题 更多 >
编程相关推荐