You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django执行py manage.py shell后代码位置及数据库错误问题

解决Django数据库操作的两个问题

一、代码输入位置确认

  • 绝对不要修改migrations/0001_initial.py:这个文件是Django自动生成的迁移文件,手动修改会彻底打乱数据库迁移逻辑,引发更多问题。
  • 正确位置:执行py manage.py shell后,终端进入交互式Python环境(显示In [1]或>>>提示符),所有模型操作代码都在这里逐行输入,示例:
    from filmy.models import Film, Genre
    my_film = Film(title="测试电影", genre_id=1)  # 替换为你的模型字段参数
    my_film.save()
    

二、"DatabaseError: file is not a database" 错误修复

这个错误通常和数据库配置、文件状态有关,按以下步骤排查:

  • 检查settings.py的DATABASES配置:如果使用SQLite,确保NAME的路径正确,示例配置:
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': BASE_DIR / 'db.sqlite3',
        }
    }
    
  • 确认数据库文件状态:
    • 如果db.sqlite3不存在,先执行py manage.py migrate生成初始数据库文件;
    • 确保文件有读写权限,避免因权限不足导致无法访问;
    • 若之前用编辑器或数据库工具打开过该文件,务必完全关闭,防止文件被锁定。

内容的提问来源于stack exchange,提问作者Klara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 15:43:13