我目前正在阅读Django 的权威指南,遇到了一个意外错误。我将我的数据库设置为 sqlite3 并对其进行了测试。到目前为止,一切都很好。
首先,我使用以下命令创建了一个应用程序,
python manage.py startapp books
然后我创建了相应的模型
从 django.db 导入模型
class Publisher(models.Model):
name = models.CharField(max_length=30)
address = models.CharField(max_length=50)
city = models.CharField(max_length=60)
state_province = models.CharField(max_length=30)
country = models.CharField(max_length=50)
website = models.URLField()
class Author(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
email = models.EmailField()
class Book(models.Model):
title = models.CharField(max_length=100)
authors = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher)
publication_date = models.DateField()
我可以成功验证它,
python manage.py validate
但是当我尝试打印出相应的 SQL 命令时,
python manage.py sqlall books
我收到以下错误:
django.db.utils.DatabaseError: file is encrypted or is not a database
我错过了什么?
提前致谢
我的设置是:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': '/home/******/mysite/mysite/data/test.db',
'USER': '', # Not used with sqlite3.
'PASSWORD': '', # Not used with sqlite3.
'HOST': '',
'PORT': '',
}
}