Я пытаюсь подключиться, чтобы использовать базу данных MongoDB для проекта Django.
Поэтому я следую руководству по изменению базы данных из settings.py
# Original
DATABASES = {
'default': {
'ENGINE': 'djongo',
'NAME': 'testDB',
}
Изменено на
# From tutorials
DATABASES = {
'default': {
'ENGINE': 'djongo',
'NAME': 'testDB',
'USERNAME': 'username',
'PASSWORD': 'password',
'HOST': 'myhostname.example',
'PORT': '27017',
}
}
Попытка запустить
python manage.py makemigrations
python manage.py migrate
Все работает, но в моей базе данных нет данных
Видимо django пошел на хост localhost: 27017 и создал базу данных там.
Удаление MongoDB, просто вызвало сбой make-миграций
pymongo.errors.ServerSelectionTimeoutError: localhost:27017: [WinError 10061] No connection could be made because the target machine actively refused it
Я нашел решение. { ссылка }
Чтобы ответить на этот вопрос, вы должны настроить его сейчас.
DATABASES = {
'default': {
'ENGINE': 'djongo',
'NAME': 'yourmongodb',
'CLIENT': {
'host': 'some-host.or.ip',
'port': 27017,
'username': 'youruser',
'password': 'yourdbpass',
'authSource': 'yourcollection', # usually admin
}
},
}