SQLAlchemy / Python 3(默认列值)

时间:2014-03-18 14:09:53

标签: python sqlalchemy flask-sqlalchemy python-3.4

我有一个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))

有什么想法吗?提前谢谢。

2 个答案:

答案 0 :(得分:0)

defaultonupdate函数可以采用可选的context参数。见here。我不确定sqlalchemy是如何检测是否通过这个,但3.4中的某些内容可能会使检测变得混乱。您可能需要report a bug

答案 1 :(得分:0)

SQLAlchemy有一个已知的问题,如this section of the 0.9.4 release notes

中所示