2022-09-29

问题描述:

在“setting.py”的配置文件中修改数据库引擎中,将系统默认的"sqlite3"后缀改为了“sql”。出现问题。

原因分析:

Django项目中的数据库引擎的修改注意点以及级联删除的设置

问题查看:

Django项目中的数据库引擎的修改注意点以及级联删除的设置

修改后:

Django项目中的数据库引擎的修改注意点以及级联删除的设置

------------------------------------------

上述问题修改后,在“setting”中设置数据库的其他内容(主机、端口、用户、密码、使用的指定数据名的数据库),如下:

Django项目中的数据库引擎的修改注意点以及级联删除的设置

设置之后,执行生成迁移文件的指令“python manage.py makemigrations”后出现了一个问题:

“TypeError: __init__() missing 1 required positional argument: 'on_delete'”,说是在“models”中定义的一个中的字段,有一个使用了外键,但是没有加“on_delete”设置删除方式,搞的我一脸疑惑,明明设置了,为啥说没设置呢?

啊啊啊啊,后来发现了原因所在,原来那边字段设置的是一个“is_delete”,啊啊啊啊,哎呀,理解偏差了,想窄了,想的是“是在删除时”用级联操作是“is_delete”,原来是需要使用“介词on”,“on_delete”。涨知识了。

之后,进行生成迁移文件指令操作、创建迁移文件("python manage.py migrate")指令操作。成功创建了。

发表回复