2

我正在阅读烧瓶管理教程。

正如教程所解释的,当我为我的用户模型创建一个 ModelView 实例时,使用

admin.add_view(ModelView(User, db.session))

我收到一个错误: AttributeError: 'ColumnProperty' object has no attribute 'expression'

当我使用以下方法为我的 Account 模型创建 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 来创建模型。有人可以建议如何解决这些错误吗?

4

1 回答 1

3

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

sudo pip install SQLAlchemy==0.8.2

-干杯!

于 2013-11-06T15:48:31.037 回答