Уведомления

Группа в Telegram: @pythonsu

#1 Июль 31, 2013 19:22:35

empirik
Зарегистрирован: 2012-03-26
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

Не "отключается" select в ModelForm

Мне нужно, чтобы некоторые поля нельзя было редактировать после того, как объект был создан в админке. Для этого я использую такой код:

class ZayvkiAdminForm(ModelForm):
    class Meta:
        model = Zayvki
    def __init__(self, *args, **kwargs):
        # super(ZayvkiAdminForm, self).__init__(*args, **kwargs)
        if not kwargs.get('instance', None):
            if not kwargs.get('initial', None):
                kwargs['initial'] = {}
            if not kwargs['initial'].get('nomer_zayvki', None):
                kwargs['initial']['nomer_zayvki'] = get_request_number()
        super(ZayvkiAdminForm, self).__init__(*args, **kwargs)
        instance = getattr(self, 'instance', None)
        if instance and instance.id:
            self.fields['tipe_zayvki'].required = False
            self.fields['tipe_zayvki'].widget.attrs['disabled'] = 'disabled'
            self.fields['nomer_zayvki'].widget.attrs['readonly'] = True
При этом, поле nomer_zayvki, которое представляет собой IntegerField становится недоступным, а tipe_zayvki - нет. Эту штуку с ‘disabled’ я взял отсюда.

Офлайн

#2 Авг. 7, 2013 16:46:57

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

Не "отключается" select в ModelForm

я бы сделал что то в таком виде:

def clean_tipe_zayvki(self):
    return self.instance.tipe_zayvki

Офлайн

#3 Авг. 7, 2013 22:08:26

empirik
Зарегистрирован: 2012-03-26
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

Не "отключается" select в ModelForm

Немного не понял, но попробую позже обязательно, сейчас голова не варит.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version