Регистрация ошибок первичного ключа в Django Admin с помощью MongoDB

во-первых, я новичок в MongoDB и это мое первое приложение, использующее его, поэтому я знаю, что мне не хватает чтения документации, но я пытаюсь найти решение этой проблемы из-за того, что в прочитанной документации говорится, что все может работать хорошо без изменений.

Я правильно настроил файл настроек с базой данных MongoDB и создал свои модели.

DATABASES = {
    'default': {
        'ENGINE': 'djongo',
        'NAME': 'my database',
    }
}

Я создал суперпользователя с помощью django-admin createsuperuser, но когда я пытаюсь войти в панель администратора, я получаю эту ошибку.

ValueError: Cannot force an update in save() with no primary key.

Я знаю, что в MongoDB нет системы Primary Key и Foreign Key, и она основана на объектах типа JSON, но в документации сказано, что она хорошо с ней работает, поэтому я подумал, что она уже готова к запуску этого.

Есть ли какая-нибудь подсказка о том, что происходит? Спасибо.

Эта ошибка показывает, что id(primsry_key) не создан django

Причины:

1.makemigrations ваш проект django для sql базы данных (mysql, sqlite и т.д.) или облачной базы данных mongo в прошлом, а затем просто мигрируйте ваш проект без makemigrations.

2.

2.создайте коллекцию auth_user (коллекции в mongodb - это почти как таблицы в sqldb) или попробуйте в прошлом createuperuser, а затем попробуйте makemigrations и мигрируйте ваш проект

Решение:

1.Подключение к вашей базе данных с mongodb с помощью компаса mongodb

1.

2.Удалите базу данных вашего проекта

3.makemigrations и снова мигрируйте ваш проект django

4.createsuperuser

Наконец, проверьте, что id(django primary_key) и _id(mongodb objectId) доступны в auth_user и других коллекциях. a объект в коллекции auth_user(mongodb compass)

Вернуться на верх