【发布时间】:2012-02-14 23:07:51
【问题描述】:
我正在尝试在 modelformset_factory using jquery.formset.js 中创建自定义表单。
这是一个代码:
自定义表单类:
class CustomizedForm(forms.ModelForm):
date = forms.DateField(widget=JQueryUIDatepickerWidget, required=True )
time_begin = forms.TimeField(widget=JQueryUITimePickerWidget, required=True, initial=time(0, 0))
time_end = forms.TimeField(widget=JQueryUITimePickerWidget, required=True, initial=time(23,59))
def __init__(self, *args, **kwargs):
super(CustomizedForm, self).__init__(*args, **kwargs)
自定义表单集类:
class FormSetWithInitialValues(BaseModelFormSet):
def __init__(self, initials, **kwargs):
super(FormSetWithInitialValues, self).__init__(**kwargs)
self.initials = initials
def save_new(self, form, commit=True):
for k, val in self.initials.items():
form.cleaned_data[k] = val
return form.save(commit=commit)
表单集工厂:
Formset = modelformset_factory(
MyModel,
formset=FormSetWithInitialValues,
form=CustomizedForm,
can_delete=True,
extra=1,
)
接下来是问题。当我初始化页面时,所有现有的表单集都使用小部件进行初始化。但是当我尝试将新表单添加到表单集时,表单被创建,但小部件不与表单的字段绑定。问题是,如何将小部件与新表单的字段联系起来?
【问题讨论】:
标签: django django-forms