2 ifwenvlook ifwenvlook 于 2016.03.24 20:32 提问

web开发时sqlalchemy报错

原本运行正常的web服务,在数据库模型中加了一行之后报错:
sqlalchemy.exc.OperationalError
sqlalchemy.exc.OperationalError: (OperationalError) no such column: comments.confirmed 'SELECT count(*) AS count_1 \nFROM (SELECT comments.id AS comments_id, comments.author_id AS comments_author_id, comments.post_id AS comments_post_id, comments.confirmed AS comments_confirmed \nFROM comments \nWHERE ? = comments.post_id) AS anon_1' (104,)

用的是python内置sqlite,代码如下:

class Comment(db.Model):
tablename = 'comments'
id = db.Column(db.Integer, primary_key=True)
body = db.Column(db.Text)
body_html = db.Column(db.Text)
timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow)
disabled = db.Column(db.Boolean)
author_id = db.Column(db.Integer, db.ForeignKey('users.id'))
post_id = db.Column(db.Integer, db.ForeignKey('posts.id'))
confirmed = db.Column(db.Boolean, default=False) ##就只是加了这一行,添加后也更新过数据库模型

shell中能查到这一列:

(venv) F:\flask\flask1>python manage.py db upgrade
INFO [alembic.migration] Context impl SQLiteImpl.
INFO [alembic.migration] Will assume non-transactional DDL.

(venv) F:\flask\flask1>python manage.py shell

~~Comment.confirmed

sqlalchemy.orm.attributes.InstrumentedAttribute object at 0x000000000436BB70>

求帮忙,自学中……(:哭

3个回答

oyljerry
oyljerry   Ds   Rxr 2016.03.24 20:36

没有那一列,列名不正确。看配置好了没

ifwenvlook
ifwenvlook   2016.03.24 20:44

可是在shell中我能查到这一列……。这说明列是存在的吧

Comment.confirmed

ifwenvlook
ifwenvlook   2016.03.24 20:44

……为什么显示不出来

Comment.confirmed

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
pycharm下找不到sqlalchemy的问题
问题始于我在pycharm下建了一个flask工程,然后导入sqlalchemy的包:from flask import Flask from flask.ext.sqlalchemy import SQLAlchemy 然后执行时报错,找不到sqlalchemy, “ImportError: No modu
Flask学习(三):SQLAlchemy无法创建数据库
书中的代码如下,设置数据库配置basedir = os.path.abspath(os.path.dirname(__file__)) app.config['SQLALCHEMY_DATABSE_URI'] = 'sqlite:///' + os.path.join(basedir, 'data.db') app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] =
关于在 Virtualenv环境下安装Flask_SQLAlchemy报错
如图安装一半就报错了(退出虚拟环境pip安装不会报错) 报了一个这样的错误PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。:  'C:\\Users\\123\\AppData\\Local\\Temp\\pip-build-13ndewk1\\SQLAlchemy' 其实看第一张图报了一个unicode编
SQLAlchemy: 使用model类操作数据
测试代码: from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarative_base mysql_engine = create_engine('mysql+mysqldb://root:root@loc
Flask Web 开发 数据库操作 Sqlalchemy
讲数据库操作了 创建表 首先,我们要让Flask-SQLAlchemy 根据模型类创建数据库。方法是使用db.create_all() 函数: (venv) $ python hello.py shell >>> from hello import db >>> db.create_all() 插入行 下面这段代码创建了一些角色和用户: >>> from hell
Sqlalchemy中Unique Key引起的问题
用MetaData创建表的时候, 报错:sqlalchemy.exc.OperationalError: (OperationalError) (1071, Specified key was too long; max key length is 767 bytes) /nCREATE TABLE user (/n/tid INTEGER NOT NULL AUTO_INCREMENT,
python使用 flask_sqlalchemy连接mysql时出现ImportError: No module named MySQLdb错误
向mysql创建表时出现ImportError: No module named MySQLdb错误错误原因:没有安装python连接mysql所需的mysqldb库,mysqldb库需要独立下载安装解决方法:安装后重新执行,数据库中表创建成功参考:http://blog.sina.com.cn/terrynotes博客ImportError: No module named MySQLdb...
flask-SQLAlchemy数据库密码加密
大家都知道数据库密码明文是很危险的一件事情,所以需要进行对密码进行加密。结合flask-sqlalchemy进行对用户密码加密。modles.pyfrom . import db from flask_sqlalchemy import SQLAlchemy from werkzeug.security import generate_password_hash,check_password_has
pyinstaller打包sqlalchemy问题的解决方法
软硬件环境 python3 sqlalchemy pyintaller 3.2.1 问题描述最近在用pyinstaller打包一个使用了sqlalchemy库的python3工程中,碰到了打包后的可执行文件报错的问题,如下图所示解决方案将sqlalchemy.dialects中的mysql引入,然后采用mysql+pymysql的方式打开数据库,代码如下import pymysqlfrom sqla
sqlalchemy中文问题解决方案
sqlalchemy是python下一个很强大的ORM,最近刚刚开始使用。当然由于只是刚刚接触,只学习使用了他的DB API,对于Mapper还有些不得要领。   最近写的一个程序,用到MySql数据库,有些数据库读写的操作,对sqlalchemy已经有了些了解,自然要练练,更何况它能大幅度的提高程序开发的效率。于是就驱动sqlalchemy,用它开始了第一个数据库应用程序的编写。   代码说