1

我的 sqllite3 数据库和 Django 设置工作正常,除了涉及管理界面的这种单一情况:

class Box(models.Model):
    name = models.CharField(max_length=200, primary_key=True)
    balls = models.ManyToManyField( 'Ball' )

class Ball(models.Model):
    name = models.CharField(max_length=200, primary_key=True)

我的 Box 模型中有一个 ManyToMany 字段来包含多个 Ball 模型。我可以创建一些 Balls,甚至可以创建一个 Box 并将其链接到一些 Balls。但是我无法在创建盒子后编辑/保存盒子的一组球,而不会出现此服务器错误:

DatabaseError:无法打开数据库文件

我正在使用开发服务器(python manage.py runserver)。除了这个管理故障之外,数据库 IO 在我的站点上运行良好。

我尝试过但没有帮助的事情: 1. 删除数据库并再次运行 syncdb 以重新开始。2.将settings.py中的我的数据库路径设置为完整路径。3. 运行 shell 我从“以管理员身份”启动开发服务器 4. 将父级、文件夹和数据库文件权限设置为 RW

我不知道还能尝试什么。我对疯狂的建议持开放态度,但希望有人知道可能导致这种情况的原因......


更新

我让它工作了!

我怀疑这是 sqllite3 数据库的问题。也许是缺乏交易更新……我不能肯定。所以我将数据库换成了 MySQL,现在问题已经解决了。我现在可以创建“盒子”并向它们添加“球”。

4

0 回答 0