Как я могу решить эту ошибку из расширения 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!