在创建ModelView时,如何从flask-admin扩展中解决此错误?

时间:2013-11-02 11:38:53

标签: python flask flask-sqlalchemy flask-admin

我正在阅读flask-admin教程。

正如教程所解释的那样,当我使用

为我的User模型创建ModelView实例时
admin.add_view(ModelView(User, db.session))

我收到的错误是: AttributeError:'ColumnProperty'对象没有属性'expression'

当我使用:

为我的帐户模型创建ModelView实例时
admin.add_view(ModelView(Account, db.session))

我收到错误: 例外:模型帐户没有主键。

我的用户型号代码为:

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80))
    email = db.Column(db.String(160))
    password = db.Column(db.String(100))
    account_id = db.Column(db.Integer, db.ForeignKey('account.id'))
    account = db.relationship('Account', backref=db.backref('user', lazy='dynamic'))

帐户型号代码为:

class Account(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    password = db.Column(db.String(100))
创建用户模型视图时

堆栈跟踪: http://pastebin.com/gf200CHp

创建帐户模型视图时

堆栈跟踪: http://pastebin.com/NYhGBW1Z

我使用flask-sqlalchemy来创建模型。 有人可以建议如何解决这些错误吗?

1 个答案:

答案 0 :(得分:3)

我得到了相同的Model ... does not have primary key异常,但是在我将SQLAlchemy从0.7.10升级到0.8.2后它就消失了:

sudo pip install SQLAlchemy==0.8.2

-Cheers!