0

我有三个文件: params.py 像这样:

from flask_pymongo import PyMongo
mongo = PyMongo()

server.py 像这样:

from params import mongo
mongo.init_app(app)

一个关于views.py中蓝图中的帖子的函数,如下所示:

from params import mongo
...
mongo.db.courses_cache.find_one_and_update({'uid': 100}, {'$set': {'data': {}, 'hash': '123'}}, upsert=True)

它有这样的错误:

mongo.db.courses_cache.find_one_and_update({'uid': 100}, {'$set': {'data': {}, 'hash': '123'}}, upsert=True) AttributeError: 'NoneType' 对象没有属性“courses_cache”

但是如果我在“mongo.init_app(app)”之后写这个mongo op,就可以了。

mongo.db 在其他 python 文件中只是变成“无”。

我一直以这种方式使用flask-sqlalchemy,零错误,为什么flask-pymongo不能?

4

1 回答 1

0

在调用 after 之前,您不能使用该PyMongo实例init_app——我的猜测是在您的 views.py 中,您尚未导入 server.py 或以其他方式确保init_app已调用该实例。

于 2019-01-19T13:39:42.383 回答