2016-09-02 2 views
1

В Django вы бесплатно получаете редактор моделей на страницах admin/. Все это прекрасно работает, но у меня есть несколько полей в моих моделях, которые генерируются и никогда не должны быть затронуты кем-либо через форму.Не показывать определенные поля на странице администратора

Как я могу исключить их из этих форм admin/.../change/?

я добавил исключения в ModelAdmin:

class exampleAdmin(admin.ModelAdmin): 
    exclude = ('field',) 

class example(models.Model): 
    field = models.CharField(max_length = 100) 
+1

Установка 'exclude' - это правильный способ сделать это. Вы не указали свой код, поэтому сложно сказать, почему он не работает. – Alasdair

+0

@Alasdair Я добавил код –

+0

Обновленный код все еще выглядит нормально. Как вы регистрируете класс администратора модели? – Alasdair

ответ

2

У меня есть в моей модели несколько полей, которые сгенерированные и никогда не должны быть затронуты кем-либо через форму.

Вы также можете использовать editable=False на поле вашей модели

Field.editable

Если значение False, поле не будет отображаться в админке или любой другой ModelForm. Они также пропускаются во время проверки модели. По умолчанию True.

class Example(models.Model): 
    field = models.CharField(max_length=100, editable=False) 
+0

Смогу ли я по-прежнему установить его в коде? –

+0

Да, поле по-прежнему работает с вашим кодом, просто не будет видно/редактируется, например. на admin – bakkal

+1

Спасибо, это лучшее решение, потому что меньше кода. –

3

Вы должны register ваш exampleAdmin вступили в силу. В вашем admin.py добавить admin.site.register(example, exampleAdmin)

Смежные вопросы