Python 如何解决Django models.py中的错误?

Python 如何解决Django models.py中的错误?,python,django,python-3.x,django-migrations,Python,Django,Python 3.x,Django Migrations,我是Django新手,试图在virtualenv中创建一个Django项目来学习,但在python manage.py make migrations上出现以下错误: 回溯(最近一次呼叫最后一次): 文件“manage.py”,第21行,在 main() 文件“manage.py”,第17行,主 从命令行(sys.argv)执行命令 文件“/home/suraj/Documents/my_projects/django_project/venv/lib/python3.6/site packag

我是Django新手,试图在virtualenv中创建一个Django项目来学习,但在
python manage.py make migrations
上出现以下错误:

回溯(最近一次呼叫最后一次): 文件“manage.py”,第21行,在 main()
文件“manage.py”,第17行,主 从命令行(sys.argv)执行命令
文件
“/home/suraj/Documents/my_projects/django_project/venv/lib/python3.6/site packages/django/core/management/init.py”,第381行,从命令行执行 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行,在设置中 应用程序。填充(设置。已安装的应用程序)
文件
“/home/suraj/Documents/my_projects/django_project/venv/lib/python3.6/site packages/django/apps/registry.py”,第114行,填充 app_config.import_models()
文件
“/home/suraj/Documents/my_projects/django_project/venv/lib/python3.6/site packages/django/apps/config.py”,第211行,在导入模型中 self.models\u module=导入模块(models\u module\u name)
文件
“/home/suraj/Documents/my_projects/django_project/venv/lib/python3.6/importlib/init.py”,第126行,导入模块
return _bootstrap._gcd_import(名称[级别:],包,级别) 文件“”,第994行,在_gcd_导入中 文件“”,第971行,在_find_和_load中 文件“”,第955行,在_find_和_load_unlocked中
文件“”,第665行,在“加载”中 exec_模块中第678行的文件“” 文件“”,第219行,在已删除帧的调用中
文件
“/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=型号。ForeignKey(board,related_name='topics')
TypeError:init()缺少1个必需的位置参数:“on_delete”


看起来您正在使用外键创建模型

创建这样的模型时,必须指定删除外键表中的记录时发生的情况

只需为模型中的该列使用
on_delete
参数来添加删除记录时应该发生的情况,您应该很好

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

Django 2.0+中需要on_delete,之前默认为级联。较旧的教程可能缺少该信息