无法覆盖Django ModelForm中的模型字段

whi*_*mus 2 python django django-forms

我正在尝试将一个DateTimeWidget和Initial值添加到我的Model的due_date字段中,我正在按照我所知道的那样接近文档.无论我尝试什么,我都无法在我的ModelForm班级中声明的字段覆盖模型中的现有字段.

https://docs.djangoproject.com/en/1.9/topics/forms/modelforms/#overriding-the-default-fields

如果我单独添加一个Widget它可以工作,但是我不知道如何添加初始值,除非我在模型中设置默认值.有人可以指出我做错了吗?

from django import forms

import datetime
from datetimewidget.widgets import DateTimeWidget


from .models import EstRequest


def due_date():
    due_date = (datetime.datetime.now() + datetime.timedelta(days=1))
    return due_date


class EstRequestModelForm(forms.ModelForm):

    class Meta:
        model = EstRequest
        due_date = forms.SplitDateTimeField(widget=forms.SplitDateTimeWidget, initial=due_date)

        fields = [
            'market',
            'plan',
            'builder',
            'due_date',
            'notes',
        ]

        # widgets = {
        #     # Use localization and bootstrap 3
        #     'due_date': DateTimeWidget(attrs={'id': "due_date"}, usel10n=True, bootstrap_version=3)
        # }
Run Code Online (Sandbox Code Playgroud)

Dhi*_*aTN 6

事实上,你是在错误的地方定义该领域,它应该在Meta课外:

class EstRequestModelForm(forms.ModelForm):

    due_date = forms.DateTimeField(widget=forms.DateTimeInput, initial=due_date)

    class Meta:
        model = EstRequest
        fields = [
            'market',
            'plan',
            'builder',
            'due_date',
            'notes',
        ]
Run Code Online (Sandbox Code Playgroud)