我尝试在我的Django项目中使用Postgresql代替sqlite。我在Windows上安装了Postgresql,创建了一个新的数据库、用户和密码。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'database_name',
'USER': 'admin',
'PASSWORD': 'admin',
'HOST': 'localhost',
'PORT': '5432',
}
}
但是当我尝试迁移或进行makemigrations时,我会遇到以下问题:
文件"C:\Users\s...\venv\lib\site-packages\django\db\backends\utils.py"的第85行,_execute函数中, 返回self.cursor.execute(sql, params)。psycopg2.errors.UndefinedTable:关系"authentication_author"不存在。第1行:..."authentication_author"."is_doctor" FROM"authentic...
这是我的模型:
class Author(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, null=True, related_name="author")
slug = models.CharField(max_length=50, null=True, blank=True,)
is_doctor = models.BooleanField(default=False)
是的,我删除了sqlite3数据库、所有迁移文件夹,并创建了包含init.py的新文件夹。
但仍然出现相同的问题。
python manage.py makemigrations authentication
然后迁移了吗?你能够使用psql和类似CMD的命令行连接到你的PSQL数据库吗?如果可以,你能够显示数据库和表吗?这只是一些想法。 - Jarad