Скройте поля в администраторе Django

Я связываю для сокрытия моих полей краткого заголовка в администраторе путем установки editable=False, но каждый раз я делаю это, я получаю следующую ошибку:

KeyError at /admin/website/program/6/
Key 'slug' not found in Form
Request Method: GET
Request URL:    http://localhost:8000/admin/website/program/6/
Exception Type: KeyError
Exception Value:    
Key 'slug' not found in Form
Exception Location: c:\Python26\lib\site-packages\django\forms\forms.py in __getitem__, line 105
Python Executable:  c:\Python26\python.exe
Python Version: 2.6.4

Любая идея, почему это происходит

5
задан jwesonga 21 April 2010 в 18:03
поделиться

1 ответ

Я не могу говорить о вашей точной ошибке, но это сработало для меня ...

from django.template.defaultfilters import slugify
# Create your models here.

class Program(models.Model):
    title=models.CharField(max_length=160,help_text="title of the program")
    description=models.TextField(help_text="Description of the program")
    slug=models.SlugField(max_length=160,blank=True,editable=False)

    def __unicode__ (self):
        return self.title

    class Meta:
        verbose_name="KCDF Program"
        verbose_name_plural="KCDF Programs"

    def save(self):
        self.slug = slugify(self.title)
        super(Program,self).save()

    def get_absolute_url(self):
        return "/program/%s/" % self.slug

Это будет хлестать вы открываете служебное поле при сохранении модели.

Просто не включайте автозаполнение в ModelAdmin.

У меня это работало в админке без проблем.

9
ответ дан 18 December 2019 в 07:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: