python - 来自 sqlalchemy-bind 表的烧瓶视图不起作用
问题描述
我正在使用 python 3.6.5、flask 1.0.2、flask-admin、flask-sqlalchemy
我在显示第二个数据库中的表视图时遇到问题,sqlalchemy 绑定配置,模型数据库,模型视图似乎都可以,但是应用程序中没有显示视图,当我尝试通过 URL 强制它时,出现权限消息。
我检查了绑定配置,当我评论该行时,会出现预期的错误。
我还从主数据库的表中删除并添加了一些其他视图,所有这些都运行良好。
我尝试了不同的方法来引用 db.session:
db.session #like always
db.session(bind=['login'])
db.get_engine(app, 'login')
没有一个报告任何错误,但视图不起作用。
SQLALCHEMY_BINDS 配置:
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://user:pass@localhost/radius'
SQLALCHEMY_BINDS = {
'login': 'mysql+pymysql://user:pass@localhost/login_radisp'
}
数据库型号:
class Empleado(db.Model):
__bind_key__ = 'login_radisp'
__tablename__ = 'empleados'
id_empleado = Column(INTEGER, primary_key=True)
nombre = Column(String(255))
apellido = Column(String(255))
email = Column(String(255))
数据库模型视图
class EmpleadoAdmin(sqla.ModelView):
column_labels = dict(
nombre = 'Nombre',
apellido = 'Apellido',
telefono = 'Teléfono',
email = 'Email'
创建应用程序构建器对象:
admin.add_view(EmpleadoAdmin(Empleado, db.session(bind=['login'])))
根本没有错误,但是应用程序中没有显示视图,当我尝试在 URL 中强制视图时,会出现下一条消息:
Forbidden
You don't have the permission to access the requested resource. It is either read-protected or not readable by the server.
解决方案
这是一个数据库访问问题,而不是烧瓶管理问题。检查您的“SQLALCHEMY_BINDS”访问权限
推荐阅读
- mysql - 带减法的 SQL 数据透视表
- android - 更新 runOnUiThread 中的 textview 文本与之前设置的文本重叠
- python - 如何从盈透证券 API 获取合约详情?
- oracle - “semmni”设置正确。(更多细节) 预期值:128 实际值:0
- python-3.x - 如何在线使用 Python GUI?
- css - 加载资源失败:服务器响应状态为 404()。Jekyll 博客好像没有找到 css 和 js 之类的资产
- python - 用熊猫舍入float32时如何确保整数部分不变
- jmeter - jmeter(5.0) 负载测试和报告生成
- node.js - 如何在服务器中下载文件
- git - 从 gcp 克隆代码时如何解决此错误?