用sqlalchemy定义数据库中的datetime

2024-04-19 09:33:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我应该在定义表时将()与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())

Tags: 代码defaultbasedatetime定义错误columnnow
1条回答
网友
1楼 · 发布于 2024-04-19 09:33:25

你想要第一个案子。您要做的是告诉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.

相关问题 更多 >