2016-04-27 3 views
2

У меня есть следующий код для установки начального значения для DateField и CharField. Первоначальное значение CharField было установлено правильно, но исходное значение DateField все еще пусто.Форма Django: установка начального значения на DateField

class MyForm(forms.ModelForm): 
    dummy = fiscal_year_end = forms.CharField() 
    date = forms.DateField() 

    def __init__(self, *args, **kwargs): 

     super(MyForm, self).__init__(*args, **kwargs) 
     today = datetime.date.today() 
     new_date = datetime.date(year=today.year-1, month=today.month, day=today.day) 
     self.fields["date"].initial = new_date 
     self.fields["dummy"].initial = 'abc' 
+1

Где вы определили свою модель на форме? – AKS

ответ

3

Вы можете установить значение по умолчанию в той же строке, где вы создаете DateField:

date = forms.DateField(initial=datetime.date.today) 

Или, если вы хотите передать определенную дату, вы можете создать Funciton и передать его к DateField, следующим образом:

def my_date(): 
    return datetime.date(year=today.year-1, month=today.month, day=today.day) 


class MyForm(forms.ModelForm): 
    #... 
    date = forms.DateField(initial=my_date) 
    #... 

Кроме того, вы могли бы рассмотреть docs для получения дополнительной помощи по этому вопросу;)

Смежные вопросы