У меня странная проблема, когда я не могу установить начальное значение одного из полей в моих формах в django.
Поле моей модели:
section = models.CharField(max_length=255, choices=(('Application', 'Application'),('Properly Made', 'Properly Made'), ('Changes Application', 'Changes Application'), ('Changes Approval', 'Changes Approval'), ('Changes Withdrawal', 'Changes Withdrawal'), ('Changes Extension', 'Changes Extension')))
Код моей формы:
class FeeChargeForm(forms.ModelForm):
class Meta:
model = FeeCharge
# exclude = [] # uncomment this line and specify any field to exclude it from the form
def __init__(self, *args, **kwargs):
super(FeeChargeForm, self).__init__(*args, **kwargs)
self.fields['received_date'] = forms.DateField(('%d/%m/%Y',), widget=forms.DateTimeInput(format='%d/%m/%Y', attrs={'class': 'date'}))
self.fields['comments'].widget.attrs['class']='html'
self.fields['infrastructure_comments'].widget.attrs['class']='html'
Мой код просмотра:
form = FeeChargeForm(request.POST or None)
form.fields['section'].initial = section
Где section - это URL-переменная, переданная в функцию. Я пробовал:
form.fields['section'].initial = [(section,section)]
Без удачи :(
Есть идеи, что я делаю не так или есть лучший способ установить значение по умолчанию (перед отправкой формы) этого поля выбора из URL-адреса?
Заранее спасибо!
Обновление: Похоже, что-то связано с переменной URL. Если я использую:
form.fields['section'].initial = "Changes Approval"
Работает np .. Если я HttpResponse (раздел), он выводит правильно, хотя.