Ошибка при запуске Author.save () в MongoAlchemy - PullRequest
2 голосов
/ 08 июля 2019

Теперь кажется, что я могу подключиться к MongoDB Cluster, но когда я пытаюсь сохранить, я получаю ошибку ниже:

TypeError: init () получил неожиданный аргумент ключевого слова 'safe'

У меня установлен Flask-MongoAlchemy 0.7.1, потому что 0.7.2 вообще не подключается.

Я следую простому примеру на странице документации. В models.py у меня есть следующее:

class Author(db.Document):
    name = db.StringField()

Я запускаю следующее

from myapp import db
from myapp.models import Author
author = Author(name="James")
author.save()

Тогда я получаю ошибку.

Я видел сообщение об этом и пытался добавить обязательное = True, где я объявляю имя. Я могу подтвердить, что версия pymongo 3.8.0.

Я обнаружил, что pymongo должен быть 3.8.0, чтобы иметь возможность использовать URI с "mongodb + srv", но он должен быть 2.8.0, чтобы разрешить передачу безопасного аргумента. Проблема в том, что мой код написан на python3, и Atlas сообщает мне, что строка подключения должна иметь «mongodb + srv», поэтому это конфликтует с версиями pymongo. Я не уверен, возможно ли вообще заставить это работать с помощью Flask-MongoAlchemy.

...