Сделать все поля скрытыми для формы

Как «скрыть» все поля в форме на основе класса модели в django? Есть скрытый виджет, который можно установить на форму, но это решение заставляет меня копировать все поля из модели в форму.


person paweloque    schedule 31.07.2011    source источник


Ответы (1)


Model._meta.get_all_field_names() дает вам список имен, которые вы можете использовать для построения словаря widget на ModelForm.Meta:

class TestForm(forms.ModelForm):
    class Meta:
        model = Test
        widgets = {field_name: forms.HiddenInput() 
                   for field_name in Test._meta.get_all_field_names()}
person Jakub Roztocil    schedule 31.07.2011
comment
Версия Python 2.6: widgets = dict((field_name, forms.HiddenInput()) for field_name in Test._meta.get_all_field_names()) - person Jakub Roztocil; 31.01.2012