is_for_purchases = forms.ChoiceField(choices=((0, 'True'), (1, 'False')))
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.org = kwargs.get('initial', {}).get('org')
self.fields['is_for_purchases'].initial = 0
Но при рендере формы поле is_for_purchases не хочет ставиться. Что я делаю не так?
Убери его из вне метода __init__ и создай в самом методе
self.fields['is_for_purchases'] = forms.ChoiceField(choices=((0, 'True'), (1, 'False'))) - в методе __init__
initial - должен быть динмический?
class HotAddLocationsForm(forms.ModelForm): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.org = kwargs.get('initial', {}).get('org') self.fields['is_for_purchases'] = forms.ChoiceField(choices=((0, 'True'), (1, 'False')), initial=0) Не работает
initial словарь принимает
Разве? Он его только на уровне формы требует словарём, для конкретного поля напрямую значение пишешь, если я не ошибаюсь
Напиши print(self.initial)
Да, там словарь, как я и сказал, на уровне формы
Так в интернете написано 🤷♂️
self.initial['is_for_purchases'] = 0 - Так
Нет, но ты сам написал self.initial = {'is_for_purchases': 'I love you Yaroslav'}, чтобы не дёргать все остальные данные, я напрямую указал
class HotAddLocationsForm(forms.ModelForm): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.org = kwargs.get('initial', {}).get('org') self.fields['is_for_purchases'] = forms.ChoiceField(choices=((0, 'True'), (1, 'False')), initial='value')
Писал уже, не работает
Это был не вопрос
Извиняюсь, всё рабоет, это фронт чудит Спасибо
Обсуждают сегодня