2015-08-14 1 views
0

Я использую mongoengine в моем project.When я попытался выполнить syncdb команду, я столкнулся следующее сообщение об ошибке:Джанго: Mongoengine SyncDB не удалось

File "C:\Python34\lib\site-packages\django\db\backends\dummy\base.py" 
raise ImproperlyConfigured("settings.DATABASES is improperly configured." 
django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. 
Please supply the ENGINE value. Check settings documentation for moredetails. 

Вот settings.py код

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.dummy', 
    } 
} 

AUTHENTICATION_BACKENDS = (
    'mongoengine.django.auth.MongoEngineBackend' 
) 
SESSION_ENGINE = 'mongoengine.django.sessions' 


_MONGODB_HOST = 'localhost' 
_MONGODB_NAME = 'demo' 

conn = mongoengine.connect(_MONGODB_NAME,host=_MONGODB_HOST) 

Я хочу использовать mongodb для аутентификации пользователей, поэтому мне нужно создать пользовательские коллекции auth в Database.Would это возможно в mongoengine?

Спасибо

ответ

2

syncdb команда доступна для реляционных баз данных, таких как MySQL, Postgres и т.д. Если вы хотите использовать mongoengine с MongoDB, вам не нужно запускать syncdb. Если вы определили документы mongoengine, их можно использовать непосредственно для запросов. для более подробной информации читайте mongoengine connect. Также посмотрите на defining-documents с mongoengine.

2

Django написан для использования с реляционными базами данных. То, что syncdb делает, создает ваши таблицы в реляционных базах данных, которые перечислены в файле settings.py.

Mongo-db, с другой стороны, является нереляционной базой данных и, следовательно, не имеет схемы. syncdb здесь не работает, потому что нет никаких схем/таблиц для генерации.

Способ подключения к mongo-db с использованием mongoengine. Теперь вам просто нужно создать модели и начать работу. Просто удалите DATABASES и AUTHENTICATION_BACKENDS из вашего settings.py файла.

Обычная аутентификация не работает, если вы внедрили mongo-db. Зайдите в this link, чтобы реализовать аутентификацию с использованием mongo-db.

Кроме того, дополнительно читайте mongoengine docs для лучшего понимания.