Django admin 和 SQLite:数据库磁盘映像格式错误

Posted

技术标签:

【中文标题】Django admin 和 SQLite:数据库磁盘映像格式错误【英文标题】:Django admin and SQLite: database disk image is malformed 【发布时间】:2014-11-16 15:53:48 【问题描述】:

我开发了一个由 Django 驱动的网页,我将几乎所有内容都存储在数据库中,比如说 sqlite.db

Django 正确读取数据库中的所有信息并正确显示网页。

但是,使用管理界面(在生产服务器上 -> Eclipse 附带 pydev 插件的开发服务器工作正常)无法访问数据库。如果我只是复制数据库文件,它会告诉我它无法读取,我什至没有将登录屏幕显示到 django 的管理应用程序中。如果我按照许多论坛中的建议更改文件和目录权限,我将获得管理员登录屏幕,但是 django 会返回“/admin/ 处的数据库错误 - 数据库磁盘映像格式错误”错误。

我正在使用 Django 1.6.5 和 sqlite3 3.7.13

有什么想法吗?

编辑:我发现只有 django 管理界面的主页受到影响。我可以毫无问题地导航到应用设置。

【问题讨论】:

我发现在目标系统(raspberryPi debian-weezy)上运行的 django 管理服务器不能正常工作(数据库格式错误)。在 Windows 上是这样 这可能会有所帮助:***.com/questions/5274202/… 感谢 joel 的提示,但数据库在我的开发环境中运行良好,我确保不要复制正在使用的数据库。我将尝试在我的目标系统上创建一个新数据库,然后复制信息 在仔细阅读之后,我找到了解决方案,感谢 joel。 askubuntu.com/questions/30185/… 成功了!再次感谢您! 【参考方案1】:

只有三个步骤。

    删除db.sqlite3 和所有迁移文件 运行python manage.py makemigrations 运行python manage.py migrate

【讨论】:

这真的很有帮助 如果您不介意删除数据库,那也没关系。我们并不总是那么奢侈。【参考方案2】:

正如 Joel 指出的那样,“SQLite3 database or disk is full / the database disk image is malformed”在其评论部分 (https://askubuntu.com/questions/30185/banshee-encountered-a-fatal-error-sqlite-error-11-database-disk-image-is-malfo) 中有一个解决方案。感谢 Joel Goldstick 的帮助!

【讨论】:

以上是关于Django admin 和 SQLite:数据库磁盘映像格式错误的主要内容,如果未能解决你的问题,请参考以下文章

Django django_admin_log' 不存在

Djongo数据库引擎上的Django Admin外键错误

Python学习第127天(Django至ORM)

Django模型(数据库)008

Django 登录错误:在 IIS 中“尝试写入只读数据库”

Part 2:模型与管理后台