我按照此处找到的说明进行操作
http://django-blog-zinnia.readthedocs.org/en/latest/how-to/extending_entry_model.html
不幸的是,我无法扩展。第一个奇怪的事情是 - 我必须改变入口模块的导入方式:
从
from zinnia.models.entry import Entry
from zinnia.admin.entry import EntryAdmin
到
from zinnia.models import Entry
from zinnia.admin import EntryAdmin
更改后,我然后运行服务器并转到管理页面,但随后出现此错误。
'RatingAdmin.fieldsets[0][1]['fields']' refers to field 'rating' that is missing from the form.
这是我的代码 admin.py
from django.contrib import admin
from django.utils.translation import ugettext_lazy as _
from zinnia.models import Entry
from zinnia.admin import EntryAdmin
class RatingAdmin(EntryAdmin):
# into the 'Content' fieldset
fieldsets = ((_('Content'), {'fields': (
'title', 'content', 'image', 'status', 'rating')}),) + \
EntryAdmin.fieldsets[1:]
# Unregister the default EntryAdmin
# then register the EntryGalleryAdmin class
admin.site.unregister(Entry)
admin.site.register(Entry, RatingAdmin)
这是我的抽象类模型happy_models.py
from django.db import models
from zinnia.models.entry import EntryAbstractClass
class Happy(models.Model):
rating = models.CharField(max_length=200)
def __unicode__(self):
return u'Rating %s' % self.title
class Meta(EntryAbstractClass.Meta):
abstract = True
这是我在 settings.py 中的百日草入门基础模型路径
ZINNIA_ENTRY_BASE_MODEL = 'happy.happy_models.Happy'
我刚刚在我的控制台上注意到了这一点
/zinnia/models.py:302: RuntimeWarning: happy.happy_models.Happy cannot be imported
这是我的目录设置
happy/
admin.py
happy_models.py
views.py
扩展条目时我可能做错了什么?