![](/img/trans.png)
[英]Why SQLAlchemy could not assemble any primary key columns for mapped table?
[英]Flask security - could not assemble any primary key columns for mapped table 'user'
问题:
我正在构建一个 Flask 应用程序并尝试实现烧瓶安全性。
我目前收到错误:
sqlalchemy.exc.ArgumentError: Mapper mapped class User->user could not assemble any primary key columns for mapped table 'user'
如何解决此错误,我对security和user_datastore对象的设置是否正确?
项目结构:
/app
models.py
__init.py__
run.py
run.py 文件简单调用从_ _ init _ _.py文件创建应用程序:
from flask import Flask
from flask_security import Security
from app.models import db, user_datastore
def create_app():
app = Flask(__name__)
app.config.from_object('config')
security = Security(app, user_datastore)
# Initialise extensions
db.init_app(app)
with app.app_context():
# Import parts of the application
# Register Blueprints
# Create sql tables for data models
db.create_all()
return app
models.py文件是:
from flask_sqlalchemy import SQLAlchemy
from flask_security import SQLAlchemyUserDatastore
db = SQLAlchemy()
roles_users = db.Table('roles_users',
db.Column('user_id', db.Integer, db.ForeignKey('user_id')),
db.Column('role_id', db.Integer, db.ForeignKey('role_id')))
class User(db.Model):
id = db.Column(db.Integer, prinary_key=True)
email = db.Column(db.String(100), unique=True)
password = db.Column(db.String(255))
active = db.Column(db.Boolean)
confirmed_at = db.Column(db.DateTime)
roles = db.relationship(
'Role',
secondary=roles_users,
backref=db.backref('users', lazy='dynamic')
)
class Role(db.Model):
id = db.Column(db.Integer, prinary_key=True)
name = db.Column(db.String(40))
user_datastore = SQLAlchemyUserDatastore(db, User, Role)
可能是剪切和粘贴错误 - 但您拼错了“primary_key”
您还使用了哪个 Flask Security - 如果 Flask-Security-Too 您缺少一些必需的列
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.