【问题标题】:Django 1.8 + CMS error: django.db.utils.ProgrammingError: relation "cms_cmsplugin" does not existDjango 1.8 + CMS 错误:django.db.utils.ProgrammingError: 关系“cms_cmsplugin”不存在
【发布时间】:2015-11-18 19:24:47
【问题描述】:

在我在谷歌和这里都没有找到解决方案之前,我已经遇到了 3 次同样的错误,而且我想我不是唯一一个得到它的人。

从全新安装开始,我同时安装了 django-cms 插件及其许多插件。

运行后

python manage.py makemigrations
python manage.py migrate

我收到此错误:django.db.utils.ProgrammingError: relation "cms_cmsplugin" does not exist

【问题讨论】:

    标签: django content-management-system django-cms django-migrations


    【解决方案1】:

    好吧,我要做的是删除除“cms”本身之外的所有cms插件,运行python manage.py migrate再次添加所有插件并再次更改python manage.py migrate

    似乎 Django 尝试在“cms”应用程序之前为插件创建表

    如你所见,只要你知道,这没什么大不了的。

    通常人们会一个一个地安装它们,但是如果你使用 requirements.txt 或类似文件中的 pip 来安装它们,你会遇到这个。

    【讨论】:

    • 此解决方案有效,但在您进行自动部署时会变得很重要。例如,不可能以这种方式部署在 heroku 上。 (或者至少你必须做一个丑陋的第一次提交评论插件,然后 ucommnet 并提交只是为了做第二次迁移)
    【解决方案2】:

    是的,我解决了这个问题....主要是我使用的是 django 1.7,默认情况下它正在尝试运行南迁移,所以为了解决这个问题,我只是将它添加到了 settings.py 下的 MIGRATION_MODULE: 'djangocms_text_ckeditor': 'djangocms_text_ckeditor.migrations_django',

    这将明确告诉框架运行迁移而不是南迁移。 由于主要问题是 djangocms_text_ckeditor 的表没有在 db 下创建

    【讨论】:

    • 只是一个更新,变量称为 MIGRATION_MODULES(复数)。目前(2015 年 12 月)剩下的唯一插件似乎是 'cmsplugin_filer_image': 'cmsplugin_filer_image.migrations_django',
    • 我仍然必须按照此处所述添加所有这些:github.com/divio/cmsplugin-filer#installation 即使使用 Django 1.8。
    【解决方案3】:

    我不熟悉具体问题, 但有时会转到您应用中的迁移文件夹

    (app->migrations) 并删除除__init__ 文件和 运行 python manage.py migrate 帮助了我。

    【讨论】:

    • 伙计,我不知道他们为什么投票给你,我没有尝试你的解决方案,但如果你先在 django_cms' 文件夹中这样做,它应该可以工作。
    • 这是第三方模块迁移的问题。删除他们的迁移文件是一种怎样的选择?
    【解决方案4】:

    我只是在我的 django 设置中评论我所有的自定义 django cms 插件并迁移。然后取消注释并再次迁移。

    # setting.py
    INSTALLED_APPS = (
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.admin',
        'django.contrib.sites',
        ...
        # 'MY_DJANGO_CMS_PLUGIN',
    )
    

    运行之后

    python manage.py migrate
    

    取消注释MY_DJANGO_CMS_PLUGIN,然后再次运行迁移。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-18
      • 2018-09-04
      • 2021-02-13
      • 2021-03-30
      • 1970-01-01
      • 2018-05-11
      • 2014-10-25
      相关资源
      最近更新 更多