2015-10-16 112 views
2

我试图设置FeinCMS,但是当我添加或删除页面扩展时,页面迁移出现问题。FeinCMS页面迁移不起作用

我一直在关注文档,但没有运气。

这是我的文件结构:

testcms 
├── cms 
│   ├── __init__.py 
│   ├── admin.py 
│   ├── migrate 
│   │   ├── __init__.py 
│   ├── migrations 
│   │   ├── __init__.py 
│   ├── models.py 
│   ├── tests.py 
│   └── views.py 
├── db.sqlite3 
├── manage.py 
└── testcms 
    ├── __init__.py 
    ├── models.py 
    ├── settings.py 
    ├── urls.py 
    ├── wsgi.py 

我已在settings.py所需的设置:

MIGRATION_MODULES = { 
    'page': 'cms.migrate.page', 
} 

我INSTALLED_APPS看起来是这样的:

INSTALLED_APPS = (
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 

    'cms', 

    'feincms', 
    'mptt', 
    'feincms.module.page', 
    'feincms.module.medialibrary', 
) 

运行时./manage.py makemigrations我得到这个错误:

ImportError: No module named page 

我试过不同的文件夹结构和不同的MIGRATION_MODULES,但我没有改变任何东西。

我能得到的最好是“没有检测到变化”。

任何人有一个想法我做错了什么? CMS工作正常,但我知道我最终需要对Page模型进行更改。

Django的版本:(1,8,5, '最终',0) FeinCMS版本:(1,11,1)

+0

我有同样的问题,但与Django 1.7.8 – eskhool

回答

1

类似的问题使用Django 1.9和1.11 Feincms。

我从Christopher Baines收到的解决方案是直接在页面和中间库模块上运行迁移。 https://groups.google.com/forum/#!topic/django-feincms/pVACprn27Hw

首先创建FeinCMS初始迁移:

python manage.py makemigrations --empty feincms 

python manage.py migrate feincms 

然后,运行每个模块的迁移:

python manage.py makemigrations page 

python manage.py makemigrations medialibrary 

python manage.py migrate page 

python manage.py makemigrations 

python manage.py migrate 
0

最有可能在导入错误的“页”模块是指您在MIGRATION_MODULES设置中定义的cms.migrate.page模块,而不是 feincms.page模块。

由于您在MIGRATION_MODULES中定义了自定义迁移模块,因此您必须自己创建模块。

确保目录cms/migrate/page存在并且包含__init__.py文件。