问题
今天在写Flask项目创建ORM数据库时,发现了报错:
/Users/apple/anaconda3/lib/python3.7/site-packages/sqlalchemy/ext/declarative/base.py:325: SAWarning: Attribute 'limit_time' on class <class '__main__.Commodity'> appears to be a non-schema 'sqlalchemy.sql.column()' object; this won't be part of the declarative mapping
(key, cls))
limit_time
是Commodity
的一个字段。
解决方法
原来在写的时候把Column的C小写了,改成以下情况就可以运行了。
limit_time = db.Column(db.Integer)
Flask-sqlalchemy中我也遇到了这个问题,一看复制的作者的果然是这样!感谢您的分享!
开发过程中这种小错误还是比较常见的,尤其是像Flask这种框架,IDE对于这种代码检查的功能基本不适配。