Я следил за первое руководство по приложению из официальных документов Django и получил эту ошибку при попытке сохранить некоторые изменения, сделанные через страницу администратора. Я провел некоторое исследование по этому поводу, но возможные решения, которые мне удалось найти, такие как миграция базы данных, просто не сработают. Просто дайте мне знать, если вы хотите увидеть какую-то конкретную часть моего кода.
Ниже приводится ошибка:
OperationalError at /admin/polls/question/1/change/ no such table: main.auth_user__old Request Method: POST Request URL: http://127.0.0.1:8000/admin/polls/question/1/change/ Django Version: 2.1.4 Exception Type: OperationalError Exception Value: no such table: main.auth_user__old Exception Location: /Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/backends/sqlite3/base.py in execute, line 296 Python Executable: /Users/gfioravante/Projects/test_app/ta_env/bin/python3 Python Version: 3.7.1 Python Path:
['/Users/gfioravante/Projects/test_app/test_app', '/usr/local/Cellar/python/3.7.1/Frameworks/Python.framework/Versions/3.7/lib/python37.zip', '/usr/local/Cellar/python/3.7.1/Frameworks/Python.framework/Versions/3.7/lib/python3.7', '/usr/local/Cellar/python/3.7.1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload', '/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages'] Server time: Wed, 5 Dec 2018 16:45:00 +0000
и трассировка:
Environment:
Request Method: POST Request URL: http://127.0.0.1:8000/admin/polls/question/1/change/
Django Version: 2.1.4 Python Version: 3.7.1 Installed Applications: ['polls.apps.PollsConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles'] Installed Middleware: ['django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware']
Traceback:
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/backends/utils.py" in _execute 85. return self.cursor.execute(sql, params)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/backends/sqlite3/base.py" in execute 296. return Database.Cursor.execute(self, query, params)
The above exception (no such table: main.auth_user__old) was the direct cause of the following exception:
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/core/handlers/exception.py" in inner 34. response = get_response(request)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response 126. response = self.process_exception_by_middleware(e, request)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response 124. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/contrib/admin/options.py" in wrapper 604. return self.admin_site.admin_view(view)(*args, **kwargs)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/utils/decorators.py" in _wrapped_view 142. response = view_func(request, *args, **kwargs)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/views/decorators/cache.py" in _wrapped_view_func 44. response = view_func(request, *args, **kwargs)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/contrib/admin/sites.py" in inner 223. return view(request, *args, **kwargs)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/contrib/admin/options.py" in change_view 1640. return self.changeform_view(request, object_id, form_url, extra_context)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/utils/decorators.py" in _wrapper 45. return bound_method(*args, **kwargs)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/utils/decorators.py" in _wrapped_view 142. response = view_func(request, *args, **kwargs)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/contrib/admin/options.py" in changeform_view 1525. return self._changeform_view(request, object_id, form_url, extra_context)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/contrib/admin/options.py" in _changeform_view 1571. self.log_change(request, new_object, change_message)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/contrib/admin/options.py" in log_change 826. change_message=message,
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/contrib/admin/models.py" in log_action 35. change_message=change_message,
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/models/manager.py" in manager_method 82. return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/models/query.py" in create 413. obj.save(force_insert=True, using=self.db)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/models/base.py" in save 718. force_update=force_update, update_fields=update_fields)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/models/base.py" in save_base 748. updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/models/base.py" in _save_table 831. result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/models/base.py" in _do_insert 869. using=using, raw=raw)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/models/manager.py" in manager_method 82. return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/models/query.py" in _insert 1136. return query.get_compiler(using=using).execute_sql(return_id)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/models/sql/compiler.py" in execute_sql 1289. cursor.execute(sql, params)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/backends/utils.py" in execute 100. return super().execute(sql, params)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/backends/utils.py" in execute 68. return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/backends/utils.py" in _execute_with_wrappers 77. return executor(sql, params, many, context)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/backends/utils.py" in _execute 85. return self.cursor.execute(sql, params)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/utils.py" in exit 89. raise dj_exc_value.with_traceback(traceback) from exc_value
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/backends/utils.py" in _execute 85. return self.cursor.execute(sql, params)
File "/Users/gfioravante/Projects/test_app/ta_env/lib/python3.7/site-packages/django/db/backends/sqlite3/base.py" in execute 296. return Database.Cursor.execute(self, query, params)
Exception Type: OperationalError at /admin/polls/question/1/change/ Exception Value: no such table: main.auth_user__old
Эта проблема устранена только в Django версии 2.1.5.






Я сам столкнулся с этим, похоже, это связано с https://code.djangoproject.com/ticket/29182. На данный момент вы можете просто понизить свою версию sqlite до версии до 2.6 (например, 2.5.1).
да, вот и все. Похоже, что выпуски Django 2.x.x демонстрируют эту проблему, я вернулся к версии 1.11.17, и все работает нормально, спасибо!
Исправление проблемы уже внесено, и оно будет включено в следующие точечные выпуски 2.1.5 (ожидается 1 января 2019 г.) и 2.0.10 (дата выпуска подлежит уточнению).
Не так-то просто перейти на более раннюю версию системы macOS sqlite3 или мне что-то здесь не хватает? Мой обходной путь - установить github / master django (где это исправлено).
@Alper Я удалил текущий django, а затем установил django с GitHub. ошибка все еще сохраняется, и я не смог понизить версию sqlite3 на моей macOS (например, используя brew install [email protected]) Есть идеи?
Я установил мастер Django, а затем уничтожил свою базу данных и переделал все заново (потому что я был в начале проекта). Казалось, это сработало.
Я столкнулся с этой проблемой в ArchLinux, поскольку недавнее обновление системы подтолкнуло мою рабочую станцию к sqlite 3.26. В документации диспетчера пакетов Arch объясняется, как перейти на предыдущую версию пакета. В моем случае pacman -U path/to/cache/sqlite-3.25.3-1-x86_64.pkg.tar.xz
После обновления не забудьте удалить базу данных и перестроить ее с помощью команды миграции.
Извините, что разочаровал вас @Alasdair, но я только что обновился до Django 2.1.5, попробовал еще раз и получаю точно такую же ошибку dpaste.de/Nz4n
Сегодня были выпущены Django 2.1.5 и Django 2.0.10, которые должны решить эту проблему. Обратите внимание, что примечания к выпуску говорит: Возможно, вам придется удалить и перестроить базу данных SQLite, если вы применили миграцию при использовании более старой версии Django с SQLite 3.26 или новее.
@AndreaGrandi Я бы попытался удалить и перестроить вашу базу данных SQLite, как указано в примечаниях к выпуску. Сначала создайте резервную копию файла sqlite3, если он содержит какие-либо важные данные.
@Alasdair, спасибо! Удаление и воссоздание БД устранило проблему.
как перейти на предыдущую версию? it pip freeze не показывает версию sqlite
@Alvaro Ошибка исправлена в Django 2.1.5.
Открыть => / YourAppFolder / миграции /. Вы увидите, как мигрирующие файлы точно так же, как «0001_initial.py» удаляет все эти файлы. И запустите следующую команду
1- python manage.py makemigrations
2- python manage.py migrate
Надеюсь, это должно решить вашу проблему
в конце концов проблема не была связана с этим, но спасибо, что нашли время!
Шаги:
Удалите текущий Django из вашего ENV. Просто удалите папку «anaconda3 / envs / yourenv / lib / python3.7 / site-packages / Django все версии ..
Примечание: Только для пользователей Anaconda, другие пользователи должны выяснить, как удалить пакет из вашего ENV.
Перейдите к https://github.com/django/django.
Загрузите репо в виде zip-файла.
Распаковать zip.
Переключитесь на свой ENV.
Войдите в извлеченную папку.
Запускаем "python setup.py install" и устанавливаем Django.
Удалите предыдущий файл db.sqlite3. Теперь снова примените миграции, чтобы создать новый файл db.sqlite3.
Примечание: Я не знаю, как исправить предыдущий файл базы данных и предотвратить потерю данных. Так что скажите, пожалуйста, если знаете.
Запускаем сервер.
Поздравляю! Теперь все работает нормально.
Обновление до последней версии django в январе из официального выпуска Django.
Проблема вызвана измененным поведением оператора ALTER TABLE RENAME в SQLite 3.26.0 (см. примечание о совместимости). Они также ввели оператор PRAGMA legacy_alter_table = ON для обеспечения совместимости с предыдущими версиями. Предстоящий Релиз Django 2.1.5 использует ранее упомянутый оператор в качестве исправления. Ожидается 1 января 2019 года.
Для тех, кто не хочет понижать версию какого-либо программного обеспечения, вы можете зайти в свой файл settings.py и в dict DATABASES вы можете заменить .sqlit3 на .postgresql, а прямо под ним изменить db.sqlit3 на db.sql. Это переключает вашу базу данных по умолчанию на использование postgreSQL.
Для этого вам понадобится pip install psycopg2.
Удалите файл db.sqlite3 (если он у вас есть / вы не хотите потерять то, что в нем находится) и все остальное, кроме файла __init__.py, в папке миграции вашего приложения. Как только вы все это сделаете, вы можете запустить python manage.py makemigrations и python manage.py migrate, и тогда все должно заработать :)
Надеюсь, я смог кому-то помочь!
PostgreSQL также должен быть установлен, чтобы это работало для всех, кто не может понять, почему вы получаете ошибки подключения после всего этого. :)
psycopg2 - это не PostgreSQL? Потому что это объясняет, почему он не запускал для меня сервер, ха-ха
AFAIK psycopg2 - это адаптер, позволяющий Python общаться с PostgreSQL, но PostgreSQL необходимо устанавливать отдельно. Примечание: я новичок в Django, поэтому относитесь ко всему, что я говорю, с недоверием.
То же самое произошло и со мной, что очень расстраивает. Я использую анаконду для своих сред, я обнаружил, что не могу удалить sqlite без немедленной переустановки самой последней версии sqlite. Пробовать старую версию django тоже не получилось. Единственное решение, которое сработало для меня, - это использование базы данных PostgreSQL. Это, конечно, не идеально, но я планирую использовать базу данных PostgreSQL в будущем, так что это не было пустой тратой времени. Если вы окажетесь в том же месте, что и я, этот видео может быть полезен, если вы хотите знать, как подключить базу данных PostgreSQL к вашему проекту django.
Вам нужно будет установить базу данных postgreSQL, прежде чем вносить изменения в settings.py, установка требует более или менее нажатия кнопки «Далее» для всех параметров. Однако запомните имя пользователя и пароль, которые вы использовали во время установки.
Я сделал всего 4 вещи в командной строке, и она исправила мою.
py manage.py makemigrationspy manage.py migratepy manage.py runserver (стартовый сервер)Проблема уже исправлена в выпуске пункта 2.1.5 (номер билета # 29182 в сеансе «Исправления ошибок в примечаниях к выпуску»). docs.djangoproject.com/en/2.1/releases/2.1.5/#bugfixes
Я решил проблему, обновив Django с 2.1.4 до 2.1.5, запустив
pip install --upgrade django==2.1.5
но мне пришлось пересобрать проект заново, потому что ошибка, похоже, каким-то образом связана с объектами, которые я вставил в базу данных, используя старую версию Django.
Обновлено:
Вместо удаления всего проекта достаточно было удалить только базу данных. А потом бежать
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
в этом случае команды migrate и makemigrations достаточно для нового django.
заходим в эту папку django / db / backends / sqlite3
резервное копирование файла schema.py в другую папку
откройте исходный schema.py в текстовом редакторе
там вы можете увидеть фрагмент кода, например
def __enter__(self):
# Some SQLite schema alterations need foreign key constraints to be
# disabled. Enforce it here for the duration of the schema edition.
if not self.connection.disable_constraint_checking():
raise NotSupportedError(
'SQLite schema editor cannot be used while foreign key '
'constraint checks are enabled. Make sure to disable them '
'before entering a transaction.atomic() context because '
'SQLite3 does not support disabling them in the middle of '
'a multi-statement transaction.'
)
self.connection.cursor().execute('PRAGMA legacy_alter_table = ON')
return super().__enter__()
прокомментируйте их и вставьте следующий фрагмент кода
def __enter__(self):
# Some SQLite schema alterations need foreign key constraints to be
# disabled. Enforce it here for the duration of the transaction.
self.connection.disable_constraint_checking()
self.connection.cursor().execute('PRAGMA legacy_alter_table = ON')
return super().__enter__()
Это сработало для меня. (резервная копия schema.py на случай, если работа пойдет не так; D )
для получения дополнительной информации
Я использовал это исправление для django 1.11, за исключением того, что мне нужно было только добавить строку «c.execute ('PRAGMA legacy_alter_table = ON')» после «c.execute ('PRAGMA foreign_keys = 0')», и это исправило его.
Я нахожусь в середине учебника, для которого требуется django 2.0.7. Это решение работает :)
@Bisonbleu Мне кажется, я нахожусь в середине того же урока. Но решение у меня не сработало. Не могли бы вы подробнее рассказать, что вы сделали?
@unathletic_coder, как предложено в ответе Намала Джаясундара, я перешел на /project_name/lib/python3.7/site-packages/django/db/backends /sqlite3/schema.py в строке 21, которая начинается с: def __enter __ (self): и заменил существующий код предложенными 3 строками кода. Я делаю youtube.com/watch?v=F5mRW0jo-U4
У меня была такая же проблема, за исключением того, что у меня было 2 базы данных sqlite и настраиваемый маршрутизатор базы данных. Мне удалось заставить его работать, понизив Django до 1.11.20 и не создавая необходимости воссоздавать базы данных.
Избавиться от этой проблемы легко, выполнив следующие действия:
pip install django==2.1.5python manage.py makemigrations, а затем python manage.py migratepython manage.py runserverВЫПОЛНЕНО!
Это будет работать отлично, но предположим, что вы не хотите удалять файл sqlite db?
это работает даже без удаления sqlite db (но все еще переносится). я работал над старыми проектами с 2.0.4
Спасибо, это хорошо работает. Я использую версию 2.0.7, и у меня проблема с сохранением данных в админке.
Для себя я сначала использовал: pip install --upgrade django==2.1.5 Затем я использовал python manage.py makemigrations, а затем python manage.py migrate Затем я использовал python manage.py runserver Работал как шарм, мне не нужно было удалять db!
Для тех, кто не может решить эту ошибку с помощью приведенных выше ответов, если вы создали свое приложение с именем «main», эта ошибка может возникнуть из-за проблемы с тем же именем приложения. Так что попробуйте изменить имя вашего приложения «main» на другое.
вам необходимо обновить Django, эта проблема исправлена в этом PR https://github.com/django/django/pull/10733
Я решил проблему, поменяв некоторые свои модели. У меня был один именованный проект и один именованный проект. Таблицы базы данных запутались и выкинули мне эту ошибку.
Просто сделал это, и проблема была решена:
pip install Django --upgrade
Потом:
python manage.py migrate
python manage.py makemigrations app
python manage.py migrate
Вы можете объяснить, что именно здесь произошло? У меня это сработало, но я не понял, что случилось
Просто обновили Django до последней версии, а затем снова перенеслись. @NetranjitBorgohain
Хорошо, я думал, что тоже происходит что-то еще. Я очень новичок в этом
Это исправило это для меня. Я использовал Django==2.0.7, как предлагается в руководство, переключился на 3.2.9, выполнив эти команды, и это исправлено.
Для вышеуказанной проблемы и решения:
1) Зайдите в терминал и введите pip install django==2.1.7 или последнюю версию django
2) После установки, в терминале введите python manage.py makemigrations, а затем python manage.py migrate
3) В терминале запустите сервер с кодом python manage.py runserver
4) Войдите на сервер администратора с паролем и добавьте продукт. Он успешно добавит продукт.
Добро пожаловать в Stack Overflow! Пожалуйста, сообщайте о любых принадлежности и не используйте сайт как способ продвижения вашего сайта посредством публикации. См. Как мне написать хороший ответ?.
Я решил эту проблему, используя ниже:
1) Удалите db.sqlit3
2) каталог приложения удалить все в pycache
3) manage.py makemigrations, manage.py migrate, manage.py создает суперпользователя, а затем manage.py runserver.
django-2.2.7
Это сработало для меня -
1) Удалить db.sqlite3.
2) В каждом приложении в папке миграции удалите все, кроме __init__.py.
3) В каждом приложении удалите папку __pycache__.
Я не уверен, приходилось ли вам делать это для всех приложений или только для соответствующего приложения, но у меня это сработало.
Для решения подобных проблем стоит попрактиковаться в удалении файлов migrations. @rajvijay
У меня была такая же проблема, и я исправил ее, выполнив следующие действия:
1) Скачайте последнюю версию django
2) скачайте последнюю версию SQL Lite
3) удалите файл db.sqlite3 из вашего проекта
4) Внесите небольшие изменения в models.py (например, измените размер поля)
5) сгенерируйте новый файл db.sqllite3, запустив makemigrations и migrate commands
6) импортируйте только что созданный файл db.sqllite3 в SQL Lite
Вот что я сделал для решения этой проблемы:
Заходим в виртуальную среду и устанавливаем [email protected]
pip install django==2.1.7
Удалите файл db.sqlite3 в корневой папке.
db.sqlite3 в корневой папке.Повторно запустить миграции:
python3 manage.py makemigrations
python3 manage.py migrate
Теперь все должно работать нормально.
«удалить файл db.sqlite3 в корневой папке» - это ключ ~ run python3 manage.py makemigrations создаст новый файл sqlite3.
По какой-то причине удаление sqlite не просто сработало, я также попытался удалить миграции pycache + (я только изучаю Django), тогда это сработало для меня.
Даже после обновления до последней версии Django 2.2.12 и запуска либо migrate, либо официальный скрипт восстановления базы данных, я получил ту же ошибку с __old_:
django.db.utils.IntegrityError: The row in table 'djangocms_blog_post_translation' with primary key '2' has an invalid foreign key: djangocms_blog_post_translation.master_id contains a value '2' that does not have a corresponding value in djangocms_blog_post__old.id.
Вот мой хак:
sqlite3 my_db.db .dump > my_db.sql__old" ("id") на " ("id") DEFERRABLE INITIALLY DEFERREDsqlite3 my_db.db < my_db.sqlТысячу раз спасибо - я никак не удалял свою базу данных и начинал с нуля. Мне также пришлось добавить PRAGMA legacy_alter_table = FALSE; в начало my_db.sql
Это хороший ответ, если вы не хотите «просто удалить свою базу данных»!
Я установил / понизил версию django до версии 2.2, это удалило django 3.x
pip install django==2.2
а затем я удалил файл db.sqlite, а затем
Я пытался
python manage.py makemigrations,
python manage.py migrate
python manage.py creatingsuperuser.
Сначала остановите сервер и удалите db.sqlite3.
Затем вам нужно запустить:
python manage.py makemigrationspython manage.py migrate
После выполнения этой команды вам необходимо создать суперпользователя. Создавать
Суперпользователь, запуск: python manage.py createsuperuser
Введите здесь данные суперпользователя.
Снова запустите свой сервер.
Вот и все.
Сначала обновите версию django:
pip install django --upgrade
тогда
./manage.py makemigration
./manage.py migrate
./manage.py runserver
для меня это было из моей версии django (это было 2.1) установить более высокую версию (я почему-то использовал 2.1.5) ** удалите db.sqlite3 и все, что находится в папке миграции, кроме в этом.py Команда Run:
pip install django==2.1.5 --upgrade
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
сохранить версию django 2.1.5
This issue is adressed only in this version of Django
Это решает указанную выше проблему.
Обновите Django
pip install Django --upgrade
Удалите файл db.sqlite3 из корневой папки вашего проекта.
Создайте новый db.sqlite3 в корневой папке, повторно запустив миграции.
python3 manage.py makemigrations
Мигрировать
python3 manage.py migrate
Он может работать только с этим, или вам может потребоваться создать нового суперпользователя, если он был удален.
python manage.py shell
from django.contrib.auth.models import User
User.objects.filter(is_superuser=True)
Если появляется <QuerySet []>, значит пользователя нет.
В противном случае проверьте, существует ли ваш пользователь.
python manage.py createsuperuserПожалуйста, проверьте, не удалили ли вы папку миграции из своего приложения. в случае удаления попробуйте восстановить папку и удалить файлы миграции или при удалении навсегда создайте приложение и скопируйте, вставьте свою работу и
тогда
1. Delete db.sqlite3
2. python manage.py makemigrations
3. python manage.py migrate
4. python manage.py createsuperuser
HTH :)
Это работает для меня
Примечание: Не выполняйте этот трюк, если у вас есть личные данные в Sqlite3 DB, так как вы собираетесь удалить Sqlite3 DB.
Я знаю, что на этот вопрос дается много ответов, но только этот трюк помогает мне решить эту проблему, поскольку я новичок в python и изучаю Джанго.
Теперь запустите эти команды в терминале
python manage.py makemigrationspython manage.py migratepython manage.py createsuperuser (укажите учетные данные суперпользователя)python manage.py runserverТеперь, наконец, войдите в панель администратора с обновленными учетными данными суперпользователя и попробуйте добавить запись.
Те же предложения в этом ссылка на сайт кем-то
Если у вас нет данных, просто удалите их и перенесите снова. Если это невозможно, выполните
python manage.py showmigrations, чтобы узнать, какие миграции не выполнены.