Mig*_*ado 7 python django postgresql
所以我试图在django应用程序上运行初始迁移,当我尝试运行migrate命令(python manage.py migrate或makemigrations)时,我收到以下错误:
psycopg2.ProgrammingError: relation "dotworks_server_internship" does not exist
LINE 1: ...s", "dotworks_server_internship"."questions" FROM "dotworks_...
^
Run Code Online (Sandbox Code Playgroud)
我在使用Django 1.9.6的Windows环境中,我的数据库是postgres.另外,我正在使用PGAdmin来管理我的数据库.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'dotworks',
'USER': 'postgres',
'PASSWORD': 'mypasswordgoeshere',
'HOST': 'localhost',
'PORT': '5432',
}
}
Run Code Online (Sandbox Code Playgroud)
小智 11
确保您的代码中没有任何调用 Django 管理器的类变量
例如:
class SomeViewSet(viewsets.ViewSet):
se = SomeEntity.objects.first() # fetching some entity on the class level
def list(self, request):
# the rest of the code
Run Code Online (Sandbox Code Playgroud)
因此,当您尝试创建/应用迁移时,此变量也将尝试初始化,并尝试访问SomeEntity,但此时该实体甚至不存在,并且会发生错误。
我遇到了这个问题,我不得不注释掉引用了views.py的urls.py中的所有内容,然后运行makemigrations。希望这可以帮助。
如果您在本地运行,对于每个 Django 应用程序(也许您只有一个),请删除该migrations文件夹的内容。然后,运行python manage.py makemigrations app1 app2 app3(如果您有 3 个名为 app1、app2、app3 的 Django 应用程序)。这将(重新)创建迁移数据库所需的迁移文件
然后,运行python manage.py migrate。它将应用您刚刚创建的迁移文件。
| 归档时间: |
|
| 查看次数: |
6246 次 |
| 最近记录: |