django报错:django迁移表pymysql.err.InternalError

pymysql.err.InternalError: (1829, “Cannot drop column ‘pid’: needed in a foreign key constraint ‘rbac_role_permission_permission_id_f5e1e866_fk_rbac_perm’ of table ‘my_crm.rbac_role_permissions’”)

问题:原先写models文件时,写了几个表,表之间有外键关系。现在修改表结构后,使用迁移命令报错了
解决办法:

  1. 删除django项目下migrations文件夹中所有文件,如果项目仅仅是demo,直接删除数据库,重新创建新的数据库,再迁移
    下图为我项目目录下的之前执行迁移命令留下来的记录,需要全部删除,重新生成
    项目目录下的文件
  2. 重新执行数据库迁移命令
python manage.py makemigrations
python manage.py migrate

执行结果

©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页