Python django.db.utils.ProgrammingError:关系“;“授权用户”;不存在
当尝试在Django中执行syncdb时,跟踪回溯失败。我尝试过删除模式并创建一个干净的模式。migrate创建迁移,但它从不在django_迁移之外创建任何表。作为预防措施,我还删除了所有现有的pyc文件,但运气不好。它似乎没有在初始同步时创建任何表。当前未处理创建的核心表(auth、sessions等)之外的任何模型Python django.db.utils.ProgrammingError:关系“;“授权用户”;不存在,python,django,postgresql,Python,Django,Postgresql,当尝试在Django中执行syncdb时,跟踪回溯失败。我尝试过删除模式并创建一个干净的模式。migrate创建迁移,但它从不在django_迁移之外创建任何表。作为预防措施,我还删除了所有现有的pyc文件,但运气不好。它似乎没有在初始同步时创建任何表。当前未处理创建的核心表(auth、sessions等)之外的任何模型 系统检查发现了一些问题: 警告: ?:(1_6.W001)某些项目单元测试可能无法按预期执行。 提示:Django1.6引入了一个新的默认测试运行程序。看起来这个项目是使用Dj
系统检查发现了一些问题:
警告:
?:(1_6.W001)某些项目单元测试可能无法按预期执行。
提示:Django1.6引入了一个新的默认测试运行程序。看起来这个项目是使用Django 1.5或更早版本生成的。您应该确保您的测试都在运行,并且按照预期运行。看见https://docs.djangoproject.com/en/dev/releases/1.6/#new-有关更多信息,请参阅TestRunner。
系统检查发现了一些问题:
警告:
?:(1_6.W001)某些项目单元测试可能无法按预期执行。
提示:Django1.6引入了一个新的默认测试运行程序。看起来这个项目是使用Django 1.5或更早版本生成的。您应该确保您的测试都在运行,并且按照预期运行。看见https://docs.djangoproject.com/en/dev/releases/1.6/#new-有关更多信息,请参阅TestRunner。
要执行的操作:
同步未迁移的应用程序:oauth2_提供程序、核心、django_管理_引导、rest_框架_招摇过市、rest_框架、django_管理_引导_引导3
应用所有迁移:管理、内容类型、身份验证、会话
在不迁移的情况下同步应用程序:
正在创建表。。。
正在安装自定义SQL。。。
正在安装索引。。。
运行迁移:
正在应用contenttypes.0001\u首字母。。。好啊
正在应用auth.0001\u首字母。。。好啊
正在应用admin.0001\u首字母。。。好啊
正在应用会话。0001_首字母。。。好啊
回溯(最近一次呼叫最后一次):
文件“manage.py”,第10行,在
从命令行(sys.argv)执行命令
文件“/usr/local/lib/python2.7/dist-packages/django/core/management/__-init__;.py”,第385行,从命令行执行
utility.execute()
文件“/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py”,第377行,在execute中
self.fetch_命令(子命令)。从_argv(self.argv)运行_
文件“/usr/local/lib/python2.7/dist-packages/django/core/management/base.py”,第288行,在运行中,从
self.execute(*args,**选项._dict__;
文件“/usr/local/lib/python2.7/dist packages/django/core/management/base.py”,第338行,在execute中
输出=self.handle(*args,**选项)
文件“/usr/local/lib/python2.7/dist packages/django/core/management/base.py”,第533行,在handle中
返回self.handle\u noargs(**选项)
handle_noargs中的文件“/usr/local/lib/python2.7/dist packages/django/core/management/commands/syncdb.py”,第36行
如果不是UserModel.\u default\u manager.exists()和options.get('interactive'):
文件“/usr/local/lib/python2.7/dist packages/django/db/models/manager.py”,第92行,在manager\u方法中
返回getattr(self.get_queryset(),name)(*args,**kwargs)
文件“/usr/local/lib/python2.7/dist-packages/django/db/models/query.py”,第606行,存在
返回self.query.has\u结果(使用=self.db)
文件“/usr/local/lib/python2.7/dist-packages/django/db/models/sql/query.py”,第445行,在has\u结果中
返回编译器。has_results()
文件“/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py”,第757行中的has_结果
返回bool(self.execute\u sql(单个))
文件“/usr/local/lib/python2.7/dist packages/django/db/models/sql/compiler.py”,第786行,在execute_sql中
cursor.execute(sql,params)
文件“/usr/local/lib/python2.7/dist packages/django/db/backends/utils.py”,执行中的第81行
返回super(CursorDebugWrapper,self).execute(sql,params)
文件“/usr/local/lib/python2.7/dist packages/django/db/backends/utils.py”,执行中的第65行
返回self.cursor.execute(sql,params)
文件“/usr/local/lib/python2.7/dist packages/django/db/utils.py”,第94行,在__
6.重新播放(dj_exc_类型、dj_exc_值、回溯)
文件“/usr/local/lib/python2.7/dist packages/django/db/backends/utils.py”,执行中的第65行
返回self.cursor.execute(sql,params)
django.db.utils.ProgrammingError:关系“auth_user”不存在
第1行:从“授权用户”限制1中选择(1)作为“a”
此错误发生在我使用以前版本的django(1.5)设置的多个数据库中。升级没有用到south的多个数据库。最终,我将不得不重新访问它,以便尝试迁移,但在此期间,我放弃了它。删除my settings.py中的多个数据库实例解决了这个问题。我在Django 1.8中遇到了这个问题,在Django 1.8中,我使用了自定义用户配置文件,按照文档中的建议,我使用OneToOneField为用户创建了该文件
幸运的是,我在一个单独的应用程序中隔离了用户配置文件代码,我称之为“profile”
对我来说,这个变通方法解决了这个问题:
- 通过从已安装的应用程序中删除settings.py中的“profile”应用程序来禁用自定义用户配置文件
- 运行python manage.py迁移
- 通过重新插入应用程序重新启用自定义用户配置文件
这肯定是由于Django中的一个bug造成的。我遇到了非常类似的问题。最终我发现并不是我所有的应用都有迁移。因此,请检查是否所有已安装的应用程序(Django project wise)都具有
models.py
文件,并且都进行了迁移。这解决了我的问题(强制Django为特定应用程序创建迁移),并检查了migrations.swappable_依赖项(settings.AUTH_USER_MODEL),
列在迁移依赖项的第一个位置。您使用的是自定义用户模型还是Django defaultauth.user
?真正奇怪的是,我用相同的数据库创建了一个干净的项目,并迁移了wor
System check identified some issues:
WARNINGS:
?: (1_6.W001) Some project unittests may not execute as expected.
HINT: Django 1.6 introduced a new default test runner. It looks like this project was generated using Django 1.5 or earlier. You should ensure your tests are all running & behaving as expected. See https://docs.djangoproject.com/en/dev/releases/1.6/#new-test-runner for more information.
System check identified some issues:
WARNINGS:
?: (1_6.W001) Some project unittests may not execute as expected.
HINT: Django 1.6 introduced a new default test runner. It looks like this project was generated using Django 1.5 or earlier. You should ensure your tests are all running & behaving as expected. See https://docs.djangoproject.com/en/dev/releases/1.6/#new-test-runner for more information.
Operations to perform:
Synchronize unmigrated apps: oauth2_provider, core, django_admin_bootstrapped, rest_framework_swagger, rest_framework, django_admin_bootstrapped_bootstrap3
Apply all migrations: admin, contenttypes, auth, sessions
Synchronizing apps without migrations:
Creating tables...
Installing custom SQL...
Installing indexes...
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying sessions.0001_initial... OK
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 377, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 288, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 338, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 533, in handle
return self.handle_noargs(**options)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/syncdb.py", line 36, in handle_noargs
if not UserModel._default_manager.exists() and options.get('interactive'):
File "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py", line 92, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 606, in exists
return self.query.has_results(using=self.db)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/query.py", line 445, in has_results
return compiler.has_results()
File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", line 757, in has_results
return bool(self.execute_sql(SINGLE))
File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", line 786, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/utils.py", line 81, in execute
return super(CursorDebugWrapper, self).execute(sql, params)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/utils.py", line 65, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/dist-packages/django/db/utils.py", line 94, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/utils.py", line 65, in execute
return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: relation "auth_user" does not exist
LINE 1: SELECT (1) AS "a" FROM "auth_user" LIMIT 1