2013-10-09 37 views
2

我在django管理員中的表單中遇到了一個奇怪的問題。django管理員keyerror:找不到表格中的密鑰

我定義我的表單,模型和的ModelAdmin:

import datetime 
from cmsplugin_news.admin import NewsAdmin as OldNewsAdmin 
from django import forms 
from django.db import models 
from news.models import News 


class NewNewsForm(forms.ModelForm): 
    class Meta: 
     model = News 
     fields = ('title', 'is_published', 'pub_date', 'is_featured') 


class NewsAdmin(OldNewsAdmin): 
    fields = ('title', 'is_published', 'pub_date', 'is_featured') 
    form = NewNewsForm 


class News(models.Model): 
    title = models.CharField(_('Title'), max_length=255) 
    is_published = models.BooleanField(_('Published'), default=False) 
    pub_date = models.DateTimeField(_('Publication date'), default=datetime.datetime.now) 
    is_featured = models.BooleanField(_('Featured'), default=False) 

admin.site.register(News, NewsAdmin) 

模型中的所有領域似乎在管理和形式以及出現。但是,當我前往/ EN /管理/新聞/新聞/ 4 /,我得到以下KeyError異常:鍵「is_featured」不應在形式上找到

這裏https://dpaste.de/9yV3

完整的堆棧跟蹤任何幫助將非常感激。謝謝!

+1

那麼什麼是'OldNewsAdmin'? –

+0

from cmsplugin_news.admin import NewsAdmin as OldNewsAdmin - > https://bitbucket.org/zerok/cmsplugin-news/src/fff7aaae16662f2c6b3832bc786300163b647cf8/cmsplugin_news/admin.py?at=default – sogeking

回答

1

看起來與其他財產有衝突。更改名稱使其工作。

+0

對於其他可能出現此錯誤的用戶當我在我的管理員中使用get_fieldsets時,我想到了它的原因。我有一個管理員完美工作,然後嘗試將M2M字段從內聯移動到字段集的字段中。但不是告訴我一個恰當的錯誤,它給了我這個錯誤(鍵X在表格中找不到)。實際的問題是,「ManyToManyField with through model」無法在管理中使用:https://code.djangoproject.com/ticket/12203希望這可以節省一些時間! – jenniwren