Django页面出现Operational Error:找不到对应表,新手求助
解决Django "no such table found" 错误
针对你遇到的Operational Error(表不存在),按以下步骤排查解决:
- 先确认你的目标模型已经在
models.py中定义,且该模型所在的APP已经添加到settings.py的INSTALLED_APPS列表里 - 执行数据库迁移命令:
- 生成迁移文件:
python manage.py makemigrations - 应用迁移到数据库:
python manage.py migrate
- 生成迁移文件:
- 如果是刚新增的APP,需要指定APP生成迁移:
python manage.py makemigrations [你的APP名称] - 检查
views.py中调用的模型是否对应已完成迁移的表(结合你提供的views截图,确认代码里引用的模型是否已经完成上述迁移步骤) - 若使用SQLite,检查项目根目录下的
db.sqlite3文件是否存在、权限是否正常;若用其他数据库(如MySQL/PostgreSQL),确认settings.py里的数据库连接配置正确,且数据库服务正常运行
如果上述步骤没解决问题,可以尝试重置迁移:
- 删除对应APP下
migrations目录中除__init__.py外的所有文件 - 若用SQLite,直接删除
db.sqlite3文件;若用其他数据库,清空数据库中的所有表 - 重新执行
makemigrations和migrate命令
内容的提问来源于stack exchange,提问作者jhalak kotwani
相关产品推荐
相关产品推荐

