Можете ли вы объяснить эту ошибку python django makemigrations?

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

traceback

 File "D:\work\Student Management\student_management_system\student_management_app\urls.py", line 3, in <module>
    from . import views, AdminViews, StaffViews, StudentViews
  File "D:\work\Student Management\student_management_system\student_management_app\views.py", line 7, in <module>
    from .AdminViews import *
  File "D:\work\Student Management\student_management_system\student_management_app\AdminViews.py", line 4, in <module>
    from .forms import *
  File "D:\work\Student Management\student_management_system\student_management_app\forms.py", line 8, in <module>
    class AddStudentForm(forms.Form):
  File "D:\work\Student Management\student_management_system\student_management_app\forms.py", line 19, in AddStudentForm
    for course in courses:
  File "D:\work\Student Management\myvenv\lib\site-packages\django\db\models\query.py", line 280, in __iter__
    self._fetch_all()
  File "D:\work\Student Management\myvenv\lib\site-packages\django\db\models\query.py", line 1324, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
  File "D:\work\Student Management\myvenv\lib\site-packages\django\db\models\query.py", line 51, in __iter__
    results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
  File "D:\work\Student Management\myvenv\lib\site-packages\django\db\models\sql\compiler.py", line 1175, in execute_sql
    cursor.execute(sql, params)
  File "D:\work\Student Management\myvenv\lib\site-packages\django\db\backends\utils.py", line 98, in execute
    return super().execute(sql, params)
  File "D:\work\Student Management\myvenv\lib\site-packages\django\db\backends\utils.py", line 66, in execute
    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
  File "D:\work\Student Management\myvenv\lib\site-packages\django\db\backends\utils.py", line 75, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "D:\work\Student Management\myvenv\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
  File "D:\work\Student Management\myvenv\lib\site-packages\django\db\utils.py", line 90, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "D:\work\Student Management\myvenv\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: relation "student_management_app_courses" does not exist
LINE 1: ...student_management_app_courses"."updated_at" FROM "student_m...

Я не понимаю, в чем заключается ошибка.

В форме AddStudentForm в файле "student_management_app/forms.py" вы выполняете запрос при инициализации приложения. Это препятствует корректной работе миграций, поскольку процесс миграции должен настроить ваше приложение для работы, а вы не можете (не должны) выполнять запросы до создания таблиц.

Скорее всего, вы создаете варианты выбора для поля формы, вам нужно удалить этот запрос и заменить его на ModelChoiceField, которому передается набор запросов, который не выполняется

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