Похоже, вы должны указать Django явно использовать MongoDB в качестве своей базы данных.В Интернете есть много уроков, но лучший из них я могу порекомендовать из опыта: " djongo ".
(venv) $ pip install djongo && pip freeze > requirements.txt
Если у вас не установлена виртуальная среда, если не просто использовать:
$ pip install djongo
А затем в settings.py
:
DATABASES = {
‘default’: {
‘ENGINE’: ‘djongo’,
‘NAME’: ‘your-db-name’,
}
}
И это все!Все просто, теоретически.(За исключением любых дополнительных конфигураций базы данных, которые вы хотите добавить).
Чтобы обойти проблему USERNAME_FIELD
, просто используйте что-то подобное в расширенном классе User
:
class User(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(_('email address'), unique=True)
first_name = models.CharField(_('first name'), max_length=30, blank=True)
last_name = models.CharField(_('last name'), max_length=30, blank=True)
date_joined = models.DateTimeField(_('date joined'), auto_now_add=True)
is_active = models.BooleanField(_('active'), default=True)
avatar = models.ImageField(upload_to='avatars/', null=True, blank=True)
objects = UserManager() # <-- THIS IS YOUR CUSTOM USER MANAGER CLASS
USERNAME_FIELD = 'email' # <-- INCLUDE THIS LINE HERE!
REQUIRED_FIELDS = []