Как обновить базу данных с помощью upsert, используя mongoengine в python3.6 - PullRequest
0 голосов
/ 10 января 2019

store_model.py

class DailyReport(Document):
meta = {
    'collection' : 'daily_report'
}
store_id = StringField(required = True)
amount = FloatField(required = True)
bill_type = IntField(required = True)
bill_date = StringField(required = True)
sale = IntField()

store_helper.py

def save_dailyrecord(storeid,tamount,billtype,billdate):
dailyrecord = DailyReport()
dailyrecord.updateOne({'store_id' : storeid},
{
    '$set' : {
        'store_id' : storeid,
        'bill_date' : billdate,
        'bill_type' : billtype
    },
    '$inc' : {
        'amount' : tamount,
        'sale' : 1
    }
},
upsert = True )

при выполнении этого кода я получаю сообщение об ошибке:

Traceback (последний вызов был последним): Файл "/home/swetha/venv/flaskproj/lib/python3.6/site-packages/flask/app.py", строка 2309, в вызов вернуть self.wsgi_app (environment, start_response) Файл "/home/swetha/venv/flaskproj/lib/python3.6/site-packages/flask/app.py", строка 2295, в wsgi_app response = self.handle_exception (e) Файл "/home/swetha/venv/flaskproj/lib/python3.6/site-packages/flask_cors/extension.py", строка 161, в wrapped_function return cors_after_request (app.make_response (f (* args, ** kwargs))) Файл "/home/swetha/venv/flaskproj/lib/python3.6/site-packages/flask/app.py", строка 1741, в handle_exception ререйз (exc_type, exc_value, tb) Файл "/home/swetha/venv/flaskproj/lib/python3.6/site-packages/flask/_compat.py", строка 35, в ререйзе повысить ценность Файл "/home/swetha/venv/flaskproj/lib/python3.6/site-packages/flask/app.py", строка 2292, в wsgi_app response = self.full_dispatch_request () Файл "/home/swetha/venv/flaskproj/lib/python3.6/site-packages/flask/app.py", строка 1815, в full_dispatch_request rv = self.handle_user_exception (e) Файл "/home/swetha/venv/flaskproj/lib/python3.6/site-packages/flask_cors/extension.py", строка 161, в wrapped_function return cors_after_request (app.make_response (f (* args, ** kwargs))) Файл "/home/swetha/venv/flaskproj/lib/python3.6/site-packages/flask/app.py", строка 1718, в handle_user_exception ререйз (exc_type, exc_value, tb) Файл "/home/swetha/venv/flaskproj/lib/python3.6/site-packages/flask/_compat.py", строка 35, в ререйзе повысить ценность Файл "/home/swetha/venv/flaskproj/lib/python3.6/site-packages/flask/app.py", строка 1813, в full_dispatch_request rv = self.dispatch_request () Файл "/home/swetha/venv/flaskproj/lib/python3.6/site-packages/flask/app.py", строка 1799, в dispatch_request вернуть self.view_functionsrule.endpoint Файл "/home/swetha/Desktop/reports_api/app/storing_reports/storedata.py", строка 23, в add_record save_dailyrecord (StoreID, количество, billtype, billdate) Файл "/home/swetha/Desktop/reports_api/app/storing_reports/storehelper.py", строка 49, в save_dailyrecord dailyrecord.updateOne ({'store_id': storeid}, AttributeError: у объекта 'DailyReport' нет атрибута 'updateOne'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...