这是用 Form _ kwargs在 Django 1.9中修复的。
我有一个姜戈表格,看起来像这样:
class ServiceForm(forms.Form):
option = forms.ModelChoiceField(queryset=ServiceOption.objects.none())
rate = forms.DecimalField(widget=custom_widgets.SmallField())
units = forms.IntegerField(min_value=1, widget=custom_widgets.SmallField())
def __init__(self, *args, **kwargs):
affiliate = kwargs.pop('affiliate')
super(ServiceForm, self).__init__(*args, **kwargs)
self.fields["option"].queryset = ServiceOption.objects.filter(affiliate=affiliate)
我把这种形式叫做:
form = ServiceForm(affiliate=request.affiliate)
其中 request.affiliate
是已登录的用户。
我的问题是,我现在想把这个单一的形式转换成一个格式集。我想不通的是,在创建格式集时,如何将代销商信息传递给各个表单。根据文档制作的格式,我需要这样做:
ServiceFormSet = forms.formsets.formset_factory(ServiceForm, extra=3)
然后我需要像这样创建它:
formset = ServiceFormSet()
现在,我如何以这种方式向各个表单传递子公司 = request. 子公司?