我使用django
表单在我的表单中添加自定义字段,但我想在某些情况下排除此自定义字段(当在url查询参数上设置user_id时),我该如何处理它?
在我的尝试和错误中发生了一些有趣的事情,我将自定义字段名称放在我的表单的Mata.exclude
中,但此自定义字段仍然以我的形式生成!!!!
这是我的代码:
class PushTokenForm(forms.ModelForm):
push_scenario = forms.ChoiceField(
label=_('Push Scenario'),
choices=get_scenarios(),
)
class Meta:
model = PushToken
exclude = ['failed', 'push_scenario']
更新
def get_form(self, request, obj=None, **kwargs):
self.exclude = []
user_id = request.GET['user_id'] if 'user_id' in request.GET else None
if user_id:
self.exclude.append('push_scenario')
form = super(PushTokenAdmin, self).get_form(request, obj, **kwargs)
return form