Während des Studiums im Django Primer wurde im Abschnitt Erstellen von Daten von der Admin-Site zur Datenbank der folgende Fehler angezeigt:
IntegrityError at /admin/diary/diary/add/ ������������"django_admin_log"������������������������������������������"django_admin_log_user_id_c564eba6_fk_auth_user_id"������������������������ DETAIL: ������������"auth_user"���������(user_id)=(3)������������������ Request Method: POST Request URL: http://127.0.0.1:8000/admin/diary/diary/add/ Django Version: 2.2.2 Exception Type: IntegrityError Exception Value: ������������"django_admin_log"������������������������������������������"django_admin_log_user_id_c564eba6_fk_auth_user_id"������������������������ DETAIL: ������������"auth_user"���������(user_id)=(3)������������������ Exception Location: C:\Users\grin\Anaconda3\envs\django\lib\site-packages\django\db\backends\base\base.py in _commit, line 240 Python Executable: C:\Users\grin\Anaconda3\envs\django\python.exe Python Version: 3.7.3
Es scheint ein Integritätsfehler in django_admin_log zu sein.
Es scheint aufzutreten, wenn die Tabelle django_admin_log eine externe Schlüsselbeziehung zur alten Tabelle auth_user enthält. Daher müssen Sie es löschen und die Tabelle neu erstellen.
$ python manage.py dbshell
DROP TABLE django_admin_log;
\q
$ python manage.py sqlmigrate admin 0001 | python manage.py dbshell