文章内容
2021/1/11 14:25:16,作 者: 黄兵
appears to be a non-schema 'sqlalchemy.sql.colu mn()' object
在使用SQLAlchemy件库的过程中,出现如下警告:
SAWarning: Attribute 'continent_name_en' on class <class 'app.models.IPCrawlerContinent'> appears to be a non-schema 'sqlalchemy.sql.colu
mn()' object; this won't be part of the declarative mapping
出现问题的原因:
app.models.IPCrawlerContinent
上的continent_name_en
不是SQLAlcehmy.sql.column
的对象,不会成为申明的一部分。
出错代码:
class IPCrawlerContinent(db.Model):
__tablename__ = 'ip_crawler_continent'
id = db.Column(db.Integer, primary_key=True)
name_zh = db.Column(db.String(32))
continent_name_en = db.column(db.String(64))
检查了好久没有看出来到底哪里除了问题。
参考了别人的问题,是由于column首字母小写,正确写法应该是大写。
解决方案:
class IPCrawlerContinent(db.Model):
__tablename__ = 'ip_crawler_continent'
id = db.Column(db.Integer, primary_key=True)
name_zh = db.Column(db.String(32))
continent_name_en = db.Column(db.String(64))
参考资料:
1、SQLAlchemy warning: column won't be part of the declarative mapping
黄兵个人博客原创。
转载请注明出处:黄兵个人博客 - appears to be a non-schema 'sqlalchemy.sql.column()' object
评论列表