Django 1.7中的自定义CMSPlugin迁移

时间:2015-06-16 16:44:04

标签: django django-cms django-migrations

我正在使用Django CMS 3.1和Django 1.7.8。我正在尝试将一个旧项目升级到这些相应的版本,但我正在用一些我自定义编写的CMSPlugin内置插件来打砖墙。

Django不会migrate任何模特。

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

模型的定义与最新文档相同:

from cms.models.pluginmodel import CMSPlugin

class Layout(CMSPlugin):
    ...

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

1 个答案:

答案 0 :(得分:1)

  

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

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

documentation says

  

但请注意,未迁移的应用程序不能依赖迁移的应用程序,因为没有迁移。

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