【发布时间】:2012-11-02 10:43:45
【问题描述】:
这是我的声明模型:
import datetime
from sqlalchemy import Column, Integer, DateTime
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Test(Base):
__tablename__ = 'test'
id = Column(Integer, primary_key=True)
created_date = DateTime(default=datetime.datetime.utcnow)
但是,当我尝试导入此模块时,我收到此错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "orm/models2.py", line 37, in <module>
class Test(Base):
File "orm/models2.py", line 41, in Test
created_date = sqlalchemy.DateTime(default=datetime.datetime.utcnow)
TypeError: __init__() got an unexpected keyword argument 'default'
如果我使用整数类型,我可以设置一个默认值。怎么回事?
【问题讨论】:
-
不应该使用这个。 utcnow 是 UTC 时区中的原始时间戳,但是,原始时间戳可能会在本地时区中解释。
-
我知道这个问题是很久以前提出的,但我认为您的答案应该更改为@Jeff Widman 提供的答案,因为当表类为时,另一个答案将使用“编译”时间日期时间定义与创建记录的时间。如果您是 AFK,那么至少此评论会警告其他人仔细检查每个问题的 cmets。
标签: python date sqlalchemy