Django получает значение поля в __init__ формы

Мне нужно иметь значение поля перед выполнением обновления. forms.py

class Form_Rol(forms.ModelForm):
     class Model:
         model = My_Model
         fields = "__all__"

     def __init__(self, *args, **kwargs):
         '''I want to do this'''
         value_coming_from_update = self.fields['name']
         print(value_coming_from_update)

Output.... <django.forms.fields.CharField object at 0x0000026649558DC0> Как вывести фактическое значение в init?

Я не могу использовать self.cleaned_data.get('name') в init. Выдает ошибку (AttributeError: 'Form_Rol' object has no attribute 'cleaned_data')

cleaned_data не существует, пока форма не будет инстанцирована с данными (a.k.a. "привязана") и is_valid() не вернет True. Поэтому принципиально невозможно получить к ней доступ в __init__ время.

Можете ли вы объяснить, чего вы пытаетесь достичь?

Возможно, вы захотите выполнить дополнительную проверку объекта ModelForm перед его сохранением. Сделать это можно следующим образом

if form.is_valid():
    instance = form.save( commit=False)
    # further checking of instance...
    if instance.ok_to_save():
        instance.save()
Вернуться на верх