Python Django:关系“;django_现场“;不存在
我正在aws上运行一个测试django服务器,我刚刚安装了django userena,当我尝试在单击提交时注册一个用户时,我收到以下消息: 关系“django_站点”不存在第1行: “django_站点”“域”“django_站点”“名称”来自“django_si…”Python Django:关系“;django_现场“;不存在,python,django,Python,Django,我正在aws上运行一个测试django服务器,我刚刚安装了django userena,当我尝试在单击提交时注册一个用户时,我收到以下消息: 关系“django_站点”不存在第1行: “django_站点”“域”“django_站点”“名称”来自“django_si…” 我不确定这里出了什么问题。我做了一些研究,并在我安装的应用程序中添加了“”django.contrib.sites”“,“,但我仍然收到了错误。我会的。我还缺少一个额外的步骤。有什么建议或建议吗?在创建站点模型之前(在syncd
我不确定这里出了什么问题。我做了一些研究,并在我安装的应用程序中添加了“
”django.contrib.sites”“,“
,但我仍然收到了错误。我会的。我还缺少一个额外的步骤。有什么建议或建议吗?在创建站点模型之前(在syncdb或迁移之前),您可能正在调用站点对象
例如:site=site.objects.get(id=settings.site\u id)我遇到了同样的问题,并像这样修复了它:
SITE\u ID=1
添加到settings.py
python manage.py migrate
此问题可能是由您正在使用的某个应用程序引起的。如果仔细检查回溯,您可能已经找到了违法者 我在使用
django调试工具栏
和zinnia
时遇到了这些问题
如果您使用的是django调试工具栏
,这可能是一种解决方案:
请尝试按照以下步骤进行显式设置:
或者从安装的应用程序中删除调试工具条
如果这没有帮助,或者是另一个应用程序导致了问题,请尝试暂时删除回溯中显示的所有导入(例如,已安装的应用程序、URL、自定义视图、设置)。我最近遇到了这个问题(Django 1.8.7)即使在我的设置中有SITE\u ID=1
。在任何其他迁移之前,我必须手动迁移sites
应用程序:
./manage.py migrate sites
./manage.py migrate
一个可怕的代码导致了这个错误。我有一个全局变量来获取当前站点
SITE=SITE.objects.get(pk=1)
这是在迁移过程中评估的,并导致错误。我迟到了,但我在django v 1.11中遇到了同样的问题
问题是,我在普通def()之外重建了一个模型,并且在表单()中[I使用模型进行选择]回溯应该列出.py文件
e、 g
文件“filepath/views.py”,第67行,在
some_variable=some_model.objects.get(name='name')
因此,我不得不对其进行注释,以重建我的迁移将此内容留给未来的我:
python manage.py makemigrations allauth
这对我来说很有效,我忘记了为什么,我花了太长时间才弄明白我第一次是如何解决这个问题的
编辑:makemigrations有时不会生成第三方的东西,比如我的一些项目使用的allauth,因此我必须指定这些东西我在为我的项目创建新的空数据库(使用Zinia)时遇到了同样的问题
在“manage migrate”之前运行“manage migrate site”并不能解决任何问题。似乎在创建任何表之前已加载整个项目
我决定捕捉导入百日草相关应用程序所产生的错误
e、 g:
在应用程序的url.py中
urlpatterns = None
app_name = 'something'
try:
from .views import MyEntryCreate
urlpatterns = [
url(r'^blogentry/create/$',
login_required(MyEntryCreate.as_view()),
name='zinnia_entry-add'),
]
except Exception as e:
logger.error(app_name+" Error urls: "+str(e))
urlpatterns = []
必须在该应用程序的其他地方执行类似操作,并且“管理迁移”再次起作用。如果在将django应用程序部署到Heroku时出现此错误,请确保已运行:
heroku运行python manage.py migrate
这对我很有效我在使用django cookiecutter
、django allauth
和django rest auth
我真的花了5个小时把头发拔出来。最终我屈服了,开始一点一点地评论
对我有效的是注释掉两个预先配置的url路径(它们随cookiecutter Django一起提供):
在那之后,迁移成功了
我取消了它的注释,我的应用程序从此开始运行。它只用于初始迁移
希望它对其他人有帮助!您在更改设置后是否运行了python manage.py syncdb
?python manage.py syncdb
不推荐用于django 1.11(我也认为是1.9或1.10)。使用python manage.py migrate
在makemigrations
之后进行迁移,而这并不能解决我的问题。我已经在设置中设置了站点ID。这就成功了!我已经有了SITE\u ID=1
所以投票率最高的答案对我不起作用。我同意你@HammanSamuel我看到了许多对我不起作用的解决方案,但我保留了不知道为什么他们被接受了。转念一想,我觉得SITE_ID=1过去在Django的旧版本中工作。然而,这在最新的Django 1.9上发挥了神奇的作用,因为在发表此评论时也有这个问题,我解决了这个问题的是将Django_livesettings更新到最新版本。我测试时正在升级到Django 1.8.12s停止工作,并归咎于外键(
site\u id)引用(id
)`在运行测试数据库的迁移时,我最近遇到了一个类似的问题,尽管对该解决方案运行测试不起作用。最后,我发现我在安装的应用程序中缺少了“allauth.socialaccount”应用程序。我不知道为什么会突然发生这种情况。很好,谢谢。在我的开发网站上,我启用了sites框架,一些代码运行正常,一切正常。将其推送到实时站点并出现此错误。我必须注释掉与站点相关的代码,推送到实时站点,运行迁移,取消对与站点相关的代码的注释,然后再次推到实时站点。呸!@PhilGyford真的很痛苦!这是一个很好的观点,直接导致:始终仔细阅读stacktrace:-D
urlpatterns = None
app_name = 'something'
try:
from .views import MyEntryCreate
urlpatterns = [
url(r'^blogentry/create/$',
login_required(MyEntryCreate.as_view()),
name='zinnia_entry-add'),
]
except Exception as e:
logger.error(app_name+" Error urls: "+str(e))
urlpatterns = []
# User management
path("users/", include("yourapp.users.urls")),
path("accounts/", include("allauth.urls")),