除了涉及Admin界面的这种情况外,我的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模型。我可以创建一些球,我甚至可以创建一个Box并将其链接到一些球。但是在创建Box之后我无法编辑/保存Box的一组球而不会出现此服务器错误:
DatabaseError:无法打开数据库文件
我正在使用开发服务器(python manage.py runserver)。除了这个管理员故障,数据库IO在我的网站上运行良好。
我尝试过的没有帮助的事情: 1.删除数据库并再次运行syncdb以重新开始。 2.将settings.py中的数据库路径设置为完整路径。 3.运行shell我从'As Administrator'启动开发服务器 4.将父文件夹,文件夹和db文件权限设置为RW
我不知道还有什么可以尝试的。我对疯狂的建议持开放态度,但希望有人知道可能导致这种情况的原因......
更新:
我开始工作了!
我怀疑这是sqllite3数据库的一个问题。也许它缺乏交易更新......我不能肯定地说。所以我把数据库换成了MySQL,问题现在已经消失了。我现在可以创建“盒子”并为它们添加“球”。