flask-pymongo: я поместил монго в отдельный файл Python, и он стал NoneType - PullRequest
0 голосов
/ 19 января 2019

У меня есть три файла: 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.db просто становится "None" в других файлах Python.

Я использовал флеш-sqlalchemy, как этот способс нулевой ошибкой, почему нельзя колбу-пимонго?

1 Ответ

0 голосов
/ 19 января 2019

Вы не можете использовать экземпляр PyMongo до тех пор, пока не будет вызван init_app - я предполагаю, что в вашем views.py вы еще не импортировали server.py или иным образом не убедились, что init_app вызывается.

...