Python 烧瓶安全属性错误:';非类型';对象没有属性';按'过滤;

Python 烧瓶安全属性错误:';非类型';对象没有属性';按'过滤;,python,flask,flask-sqlalchemy,flask-login,flask-security,Python,Flask,Flask Sqlalchemy,Flask Login,Flask Security,我正在使用计算机网格仪表板,并多次遇到以下错误: AttributeError:'NoneType'对象没有属性'filter\u by' 这发生在我稍微改变我的模型之后。 原始模型为: 类工作者(UserMixin,Base): __tablename_uu='worker' ... 当它完全像这样时,我得到如下结果: [2020-03-13 15:10:11389]应用程序中出现错误:在/admin/[GET]上出现异常 回溯(最近一次呼叫最后一次): wsgi_应用程序中的文件“/us

我正在使用计算机网格仪表板,并多次遇到以下错误:

AttributeError:'NoneType'对象没有属性'filter\u by'
这发生在我稍微改变我的模型之后。 原始模型为:

类工作者(UserMixin,Base): __tablename_uu='worker' ... 当它完全像这样时,我得到如下结果:

[2020-03-13 15:10:11389]应用程序中出现错误:在/admin/[GET]上出现异常
回溯(最近一次呼叫最后一次):
wsgi_应用程序中的文件“/usr/local/lib64/python3.6/site packages/flask/app.py”,第2446行
response=self.full\u dispatch\u request()
文件“/usr/local/lib64/python3.6/site packages/flask/app.py”,第1951行,完整发送请求
rv=自身处理用户异常(e)
文件“/usr/local/lib64/python3.6/site packages/flask\u cors/extension.py”,第161行,在wrapped\u函数中
请求后返回cors(应用程序作出响应(f(*args,**kwargs)))
文件“/usr/local/lib64/python3.6/site packages/flask/app.py”,第1820行,在handle\u user\u exception中
重放(exc_类型、exc_值、tb)
文件“/usr/local/lib64/python3.6/site packages/flask/_compat.py”,第39行,重新登录
增值
文件“/usr/local/lib64/python3.6/site packages/flask/app.py”,第1947行,完整发送请求
rv=self.preprocess_请求()
预处理请求中的文件“/usr/local/lib64/python3.6/site packages/flask/app.py”,第2241行
rv=func()
文件“/home/rancher/.local/lib/python3.6/site packages/flask\u principal.py”,第477行,在请求之前输入
identity=loader()
文件“/home/rancher/.local/lib/python3.6/site packages/flask\u security/core.py”,第245行,in\u identity\u loader
如果不是isinstance(当前用户.\u获取当前对象(),匿名用户mixin):
文件“/home/rancher/.local/lib/python3.6/site packages/werkzeug/local.py”,第307行,在当前对象中
返回self.\uuu local()
文件“/usr/local/lib64/python3.6/site packages/flask_login/utils.py”,第26行,在
当前用户=本地代理(lambda:\u get\u user())
文件“/usr/local/lib64/python3.6/site packages/flask\u login/utils.py”,第335行,输入用户
当前应用程序登录管理器。加载用户()
文件“/usr/local/lib64/python3.6/site packages/flask\u login/login\u manager.py”,第359行,在加载用户中
返回self.reload_user()
文件“/usr/local/lib64/python3.6/site packages/flask\u login/login\u manager.py”,第321行,在reload\u user中
user=self.user\u回调(user\u id)
文件“/home/rancher/.local/lib/python3.6/site packages/flask\u security/core.py”,第221行,in\u user\u loader
return\u security.datastore.find\u user(id=user\u id)
文件“/home/rancher/.local/lib/python3.6/site packages/flask\u security/datastore.py”,第254行,在find\u user中
返回self.user\u model.query.filter\u by(**kwargs.first())
AttributeError:类型对象“Worker”没有属性“query”
在互联网上查找这个错误,我得到的答案是它也应该继承自
db.Model
,即
db=SQLAlchemy(app)
。但是,一旦我需要从模型中将
Worker
导入到应用程序,并从应用程序将
db
导入到模型,我就会创建一个“导入循环”。这显然是崩溃

我认为一个可行的解决方法是像这样导入模型对象

来自flask\u sqlalchemy导入模型
让我的模型继承它

类工作者(模型、UserMixin、基):
...
但最后我得到了以下结论:

[2020-03-13 15:06:45878]应用程序中出现错误:在/admin/[GET]上出现异常
回溯(最近一次呼叫最后一次):
wsgi_应用程序中的文件“/usr/local/lib64/python3.6/site packages/flask/app.py”,第2446行
response=self.full\u dispatch\u request()
文件“/usr/local/lib64/python3.6/site packages/flask/app.py”,第1951行,完整发送请求
rv=自身处理用户异常(e)
文件“/usr/local/lib64/python3.6/site packages/flask\u cors/extension.py”,第161行,在wrapped\u函数中
请求后返回cors(应用程序作出响应(f(*args,**kwargs)))
文件“/usr/local/lib64/python3.6/site packages/flask/app.py”,第1820行,在handle\u user\u exception中
重放(exc_类型、exc_值、tb)
文件“/usr/local/lib64/python3.6/site packages/flask/_compat.py”,第39行,重新登录
增值
文件“/usr/local/lib64/python3.6/site packages/flask/app.py”,第1947行,完整发送请求
rv=self.preprocess_请求()
预处理请求中的文件“/usr/local/lib64/python3.6/site packages/flask/app.py”,第2241行
rv=func()
文件“/home/rancher/.local/lib/python3.6/site packages/flask\u principal.py”,第477行,在请求之前输入
identity=loader()
文件“/home/rancher/.local/lib/python3.6/site packages/flask\u security/core.py”,第245行,in\u identity\u loader
如果不是isinstance(当前用户.\u获取当前对象(),匿名用户mixin):
文件“/home/rancher/.local/lib/python3.6/site packages/werkzeug/local.py”,第307行,在当前对象中
返回self.\uuu local()
文件“/usr/local/lib64/python3.6/site packages/flask_login/utils.py”,第26行,在
当前用户=本地代理(lambda:\u get\u user())
文件“/usr/local/lib64/python3.6/site packages/flask\u login/utils.py”,第335行,输入用户
当前应用程序登录管理器。加载用户()
文件“/usr/local/lib64/python3.6/site packages/flask\u login/login\u manager.py”,第359行,在加载用户中
返回self.reload_user()
文件“/usr/local/lib64/python3.6/site packages/flask\u login/login\u manager.py”,第321行,在reload\u user中
user=self.user\u回调(user\u id)
文件“/home/rancher/.local/lib/python3.6/site packages/flask\u security/core.py”,第221行,in\u user\u loader
return\u security.datastore.find\u user(id=user\u id)
文件“/home/rancher/.local/lib/python3.6/site packages/flask\u security/datastore.py”,第254行,在find\u user中
返回self.user\u model.query.filter\u by(**kwargs.first())
AttributeError:“非类型”对象没有“筛选依据”属性
呵呵
db = SQLAlchemy(app)
class Worker(db.Model,UserMixin, Base):
    ...