关系“django_site”不存在 第1行: ……“django_site”。 “domain”,“django_site”。 “name” FROM“django_si……
我不太确定出了什么问题。我进行了一些研究,并将
"'django.contrib.sites',"
添加到我的已安装应用程序中,但我仍然收到错误。我想我可能漏掉了一步。有任何建议或意见吗?关系“django_site”不存在 第1行: ……“django_site”。 “domain”,“django_site”。 “name” FROM“django_si……
"'django.contrib.sites',"
添加到我的已安装应用程序中,但我仍然收到错误。我想我可能漏掉了一步。有任何建议或意见吗?最近我在使用 Django 1.8.7 时遇到了这个问题,即使在我的设置中已经设置了 SITE_ID = 1
。在进行任何其他迁移之前,我不得不手动迁移 sites
应用程序:
./manage.py migrate sites
./manage.py migrate
SITE_ID = 1
,所以得票最高的答案对我不起作用。 - Hamman SamuelFOREIGN KEY(
site_id) REFERENCES
django_site (
id)
。 - Gesias您可能在创建站点模型之前调用了站点对象(在syncdb或migrate之前)
例如:site = Site.objects.get(id=settings.SITE_ID)
我有同样的问题,并且像这样解决它:
SITE_ID=1
添加到 settings.py
中运行以下命令:
python manage.py migrate
我在使用 django-cookiecutter
, django-allauth
和 django-rest-auth
时遇到了这个错误。
我花费了五个小时的时间,并开始逐步注释代码,终于找到了解决方案。
对我有用的是注释掉两个预配置的URL路径(它们随cookiecutter Django一起提供):
# User management
path("users/", include("yourapp.users.urls")),
path("accounts/", include("allauth.urls")),
此后迁移工作正常。
我取消了注释,自那以后我的应用程序一直在运行。这仅适用于最初的迁移。
希望能对某些人有所帮助!
如果您在将Django应用程序部署到Heroku时遇到此错误,请确保已运行:
heroku run python manage.py migrate
这对我起作用了。
为了方便将来的我,我把这里留下:
python manage.py makemigrations allauth
这个命令适用于我的情况,但是我忘记了原因,花费了我很长时间来找出我第一次是如何解决的。
编辑:有时候makemigrations无法包括第三方库比如allauth,而我的一些项目需要它们,所以我必须指定这些库。
heroku run python manage.py migrate sites
heroku run python manage.py migrate
这个问题可能是由你使用的某个应用程序引起的。如果你仔细检查回溯,你可能已经找到了罪犯。
我在使用 django-debug-toolbar
和 zinnia
时遇到了这些问题。
如果你正在使用 django-debug-toolbar
,这可能是一个解决方案:
尝试按照明确的设置步骤进行操作: http://django-debug-toolbar.readthedocs.org/en/1.2.2/installation.html#explicit-setup
或者从 INSTALLED APPS
中删除 debug_toolbar
。
如果这不起作用或者另一个应用程序导致了问题,请尝试暂时删除在回溯中显示的所有导入(例如安装的应用程序、urls、自定义视图、设置)。
SITE = Site.objects.get(pk=1)
这在迁移期间被评估并导致了错误。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 = []
在该应用程序的其他地方需要执行类似的操作,“manage migrate”再次起作用。
python manage.py syncdb
? - Platinum Azurepython manage.py syncdb
已经在Django 1.11 (以及我认为的1.9或1.10)中不再使用了。请在makemigrations
后使用python manage.py migrate
。 - chris Frisina