Как устранить ошибку в Django models.py? - PullRequest
0 голосов
/ 11 октября 2019

Я новичок в Django и пытался создать проект Django внутри virtualenv для обучения, но получил следующую ошибку на python manage.py make migrations:

Traceback (последний вызов был последним): File "manage.py ", строка 21, в main ()
Файл" manage.py ", строка 17, в main execute_from_command_line (sys.argv)
Файл
" / home / suraj / Documents / my_projects / django_project/venv/lib/python3.6/site-packages/django/core/management/init.py ", строка 381, в execute_from_command_line utility.execute ()
Файл
" / home/suraj/Documents/my_projects/django_project/venv/lib/python3.6/site-packages/django/core/management/init.py ", строка 357, в функции django.setup ()
Файл
"/home/suraj/Documents/my_projects/django_project/venv/lib/python3.6/site-packages/django/init.py", строка 24, в настройке apps.populate(settings.INSTALLED_APPS)
Файл
"/home/suraj/Documents/my_projects/django_project/venv/lib/python3.6/site-packages/django/apps/registry.py", li№ 114, в заполнении app_config.import_models ()
Файл
"/home/suraj/Documents/my_projects/django_project/venv/lib/python3.6/site-packages/django/apps/config.py",строка 211 в import_models self.models_module = import_module (models_module_name)
Файл
"/home/suraj/Documents/my_projects/django_project/venv/lib/python3.6/importlib/init. py ", строка 126, в import_module
return _bootstrap._gcd_import (имя [уровень:], пакет, уровень) Файл" ", строка 994, в файле _gcd_import" ", строка 971, в файле _find_and_load" ", строка 955, в _find_and_load_unlocked
Файл "", строка 665, в _load_unlocked файл "", строка 678, в файле exec_module "", строка 219, в _call_with_frames_removed
Файл
"/ home / suraj / Documents / my_projects /django_project / web_board /boards / models.py ", строка 11, в
классе Тема (models.Model):
Файл
" / home / suraj / Documents / my_projects / django_project / web_board /boards / models.py ", строка 14, в теме
board = models.ForeignKey (Board,related_name = 'themes')
TypeError: init () отсутствует 1 обязательный позиционный аргумент: 'on_delete'

1 Ответ

2 голосов
/ 11 октября 2019

Похоже, вы создаете модель с Внешним ключом .

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

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

board = models.ForeignKey(Board, related_name='topics', on_delete=**what_you_want_to_do_when_parent_record_gets_deleted**)

что делает on_deleteМодели Django?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...