【问题标题】:Custom CMSPlugin migrations in Django 1.7Django 1.7 中的自定义 CMSPlugin 迁移
【发布时间】:2015-06-16 16:44:04
【问题描述】:

我将 Django CMS 3.1 与 Django 1.7.8 一起使用。我正在尝试将一个旧项目升级到这些各自的版本,但是我的几个自定义编写的 CMSPlugin-inhereting 插件遇到了难题。

Django 不会migrate 任何模型。

django.db.migrations.state.InvalidBasesError: Cannot resolve bases for [..My Models..]

模型的定义与最新文档中的一样:

from cms.models.pluginmodel import CMSPlugin

class Layout(CMSPlugin):
    ...

我需要做什么才能让 Django 知道这些 CMSPlugin 后代应该如何迁移?请注意,这些模型没有 任何 迁移。我删除了南方的。

【问题讨论】:

  • 你能发布运行./manage.py makemigrations后迁移的样子吗?
  • 所以在运行makemigrationsmigrate(或两者之一)后出现此错误?

标签: django django-cms django-migrations


【解决方案1】:

请注意,这些模型没有任何迁移。

那是你的问题。您使用CMSPlugin 作为新模型基础的方式要求您的模型进行迁移,因为CMSPlugin 也需要进行迁移。

documentation says:

但是请注意,未迁移的应用不能依赖已迁移的应用,因为其本质上没有迁移。

文档说得更多,但它添加的细节对于确定您是否遇到麻烦并不是特别有用。但是,您可以查看this ticket,其中记者试图通过从django.contrib.auth.models.User 继承来创建自定义用户模型,并遇到了您遇到的问题。另请参阅this other ticket,其中 Django 开发人员决定编写错误消息,特别指出继承是您遇到问题的可能原因。

【讨论】:

    猜你喜欢
    • 2014-11-19
    • 2015-08-20
    • 2014-05-28
    • 2014-12-13
    • 2015-10-31
    • 2015-02-09
    • 2014-12-21
    • 2015-05-06
    • 2014-10-28
    相关资源
    最近更新 更多