Как я могу решить эту ошибку из расширения flask-admin при создании ModelView?

Я иду через учебник по флеш-администрированию.

Как объясняется в руководстве, когда я создаю экземпляр ModelView для моей модели User с помощью

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

Я получаю сообщение об ошибке:AttributeError: у объекта 'ColumnProperty' нет атрибута 'expression'

и когда я создаю экземпляр ModelView для своей модели Account с помощью:

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))

трассировка стека при создании User ModelView: http://pastebin.com/gf200CHp

трассировка стека при создании аккаунта ModelView: http://pastebin.com/NYhGBW1Z

Я использую колбу-sqlalchemy для создания моделей. Может кто-нибудь подсказать, пожалуйста, как решить эти ошибки?

1 ответ

Решение

Я получил то же самое Model ... does not have primary key исключение, но оно исчезло после того, как я обновил SQLAlchemy с 0.7.10 до 0.8.2:

sudo pip install SQLAlchemy==0.8.2

-Cheers!

Другие вопросы по тегам