【发布时间】:2018-11-13 10:09:23
【问题描述】:
我有以下问题。
通常在基于 Django 类的视图中,get_form_kwargs 方法用于将 kwargs 提供给表单 __init__()。例如:
class ComponentForm(forms.ModelForm):
diameter = forms.ModelChoiceField(queryset=Diameter.objects.all(), label='Diameter') # required=True,
class Meta:
model = Component
fields = [
'component_type',
'diameter',
'length'
]
def __init__(self, *args, **kwargs):
circuit = kwargs.pop('circuit')
project = kwargs.pop('project')
super(ComponentForm, self).__init__(*args, **kwargs)
self.fields['diameter'].queryset = Diameter.objects.filter(project=project, material = circuit.material_type)
在上面的示例代码中,“电路”和“项目”由相应视图中的 get_form_kwargs 方法提供。
现在的问题是如何使用基于函数的视图将这些 kwargs 传递给 ComponentForm __init__()?
【问题讨论】: