Можете ли вы объяснить эту ошибку 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, которому передается набор запросов, который не выполняется