在ModelForm上,我有一些依赖于另一个的字段。例如,
class FactorForm(ModelForm):
//field definitions
class Meta:
model=Factor
fields=['name', 'type', 'sets']
sets
是一个依赖于type
的选择,它也是一个选择。更改type
后,我应该更新sets
的选项。因此,我想在模板中放置一个字段列表(例如,refresh = [' type']),因此当给定的字段发生更改时,JavaScript函数可以替换该表单。
那么,如何将随机数据放在表单上下文中?
我可以通过用通用CBV覆盖get_context_data
来做到这一点。但ModelForm没有这样的方法。
最好,我想将常用逻辑放在ModelFormParent函数中,并在Meta下列出我刷新的字段:
class FactorForm(ModelFormParent):
//field definitions
class Meta:
model=Factor
fields=['name', 'type', 'sets']
refresh=['type']
答案 0 :(得分:0)
覆盖init:
class FactorForm(ModelForm):
//field definitions
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.refresh = ['type']
然后在你的模板中:
// something like:
{{ form.refresh }}