我有一个SQLAlchemy模型(简化)看起来像这样:
class User(db.Model):
created = db.Column(db.DateTime(), nullable=False, default=datetime.datetime.utcnow, onupdate=datetime.datetime.utcnow)
这在Python 2.7中运行良好,但现在我已升级到Python 3.4.0,在尝试向数据库插入内容时出现此错误:
sqlalchemy.exc.StatementError: utcnow() takes no arguments (1 given) (original cause: TypeError: utcnow() takes no arguments (1 given))
有什么想法吗?提前谢谢。
答案 0 :(得分:0)
default
和onupdate
函数可以采用可选的context
参数。见here。我不确定sqlalchemy是如何检测是否通过这个,但3.4中的某些内容可能会使检测变得混乱。您可能需要report a bug。
答案 1 :(得分:0)
SQLAlchemy有一个已知的问题,如this section of the 0.9.4 release notes
中所示