我目前正在一个网站上工作,在那里我想使用django-blog-zinnia和django-cms。我必须将外键的输入扩展到另一个密钥,所以我跟踪了zinnia网站上的文档。
我写了zinnia/Models.py:
from django.db import models
from zinnia.models_bases.entry import AbstractEntry
class AssociationBlog(AbstractEntry):
association = models.ForeignKey("associations.Association",
blank=True,
default=None,
null=True,
related_name='news')
def __str__(self):
return 'AssociationBlog %s' % self.title
class Meta(AbstractEntry.Meta):
abstract = True现在我来到了南部,这是一个文件不足的痛苦教训。在阅读了几个小时的答案之后,我发现设置南部迁移模块意味着如下所示:
SOUTH_MIGRATION_MODULES = {
'zinnia': 'zinnia_extra.migrations.zinnia',
}在那之后我又说
ZINNIA_ENTRY_BASE_MODEL = 'zinnia_extra.models.AssociationBlog'此外,我还构建了一个zinniaover外/admin.py:
from django.contrib import admin
from django.utils.translation import ugettext_lazy as _
from zinnia.models.entry import Entry
from zinnia.admin.entry import EntryAdmin
class AssociationBlogAdmin(EntryAdmin):
fieldsets = ((_('Content'), {'fields': (
('title', 'status'), 'content', 'image', 'association')}),) + \
EntryAdmin.fieldsets[1:]
admin.site.unregister(Entry)
admin.site.register(Entry, AssociationBlogAdmin)(如文档中所示)
给settings.py。South处理一个实际未解决的已解决的迁移错误,就像预期的那样。但我成功地做到了。但我的外场不在行政区域。我四处搜索,发现我必须将额外的内容添加到INSTALLED_APPS中,因此它们现在看起来如下:
INSTALLED_APPS = (
... ,
'zinnia',
'cmsplugin_zinnia',
'zinnia_ckeditor',
'zinnia_extra'
)它实际上也可以在文档(model.html)中找到。
但现在我遇到了这样一个错误:
Unhandled exception in thread started by <function wrapper at 0x1082ad9b0>
Traceback (most recent call last):
File "/myproject/venv/lib/python2.7/site-packages/django/utils/autoreload.py", line 93, in wrapper
fn(*args, **kwargs)
File "/myproject/venv/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 101, in inner_run
self.validate(display_num_errors=True)
File "/myproject/venv/lib/python2.7/site-packages/django/core/management/base.py", line 310, in validate
num_errors = get_validation_errors(s, app)
File "/myproject/venv/lib/python2.7/site-packages/django/core/management/validation.py", line 34, in get_validation_errors
for (app_name, error) in get_app_errors().items():
File "/myproject/venv/lib/python2.7/site-packages/django/db/models/loading.py", line 196, in get_app_errors
self._populate()
File "/myproject/venv/lib/python2.7/site-packages/django/db/models/loading.py", line 75, in _populate
self.load_app(app_name, True)
File "/myproject/venv/lib/python2.7/site-packages/django/db/models/loading.py", line 99, in load_app
models = import_module('%s.models' % app_name)
File "/myproject/venv/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
__import__(name)
File "/myproject/venv/lib/python2.7/site-packages/zinnia/models/__init__.py", line 4, in <module>
from zinnia.models.entry import Entry
File "/myproject/venv/lib/python2.7/site-packages/zinnia/models/entry.py", line 6, in <module>
class Entry(load_model_class(ENTRY_BASE_MODEL)):
File: "/myproject/venv/lib/python2.7/site-packages/zinnia/models_bases/__init__.py", line 20, in load_model_class
raise ImproperlyConfigured('%s cannot be imported' % model_path)
django.core.exceptions.ImproperlyConfigured: zinnia_extra.models.AssociationBlog cannot be imported我已经搜索了几个小时了,但是我到了最后,不知道如何搜索这个错误类型。有人能提供关于当前扩展工作流程的教程或者帮助我解决这个错误吗?
发布于 2014-11-12 12:19:42
问题似乎是zinnia_extra模型的引入。
您可能需要添加以下行:
from zinnia_extra.models import AssociationBlog在某个文件里?
我不确定在wich文件中,但是Django似乎不能导入您创建的类。
可能需要将此导入添加到admin.py或Django使用AssociationBlog的其他文件中。
我想到的另一个想法是:
zinnia_extra路径添加到Python吗?它是在与您的项目相同的路径还是与zinnia应用程序相同的路径?https://stackoverflow.com/questions/26876517
复制相似问题