Python 排除django管理表单中的自定义字段
我正在使用Python 排除django管理表单中的自定义字段,python,django,django-forms,django-admin,Python,Django,Django Forms,Django Admin,我正在使用django表单在表单中添加自定义字段,但我想在某些情况下排除此自定义字段(当在url查询参数上设置了user_id时),我如何处理它 在我的尝试和错误中发生了一些有趣的事情,我把我的自定义字段名放在我表单的Mata中。排除,但是这个自定义字段仍然在我的表单中生成 这是我的密码: class PushTokenForm(forms.ModelForm): push_scenario = forms.ChoiceField( label=_('Push Scen
django
表单在表单中添加自定义字段,但我想在某些情况下排除此自定义字段(当在url查询参数上设置了user_id时),我如何处理它
在我的尝试和错误中发生了一些有趣的事情,我把我的自定义字段名放在我表单的Mata中。排除,但是这个自定义字段仍然在我的表单中生成
这是我的密码:
class PushTokenForm(forms.ModelForm):
push_scenario = forms.ChoiceField(
label=_('Push Scenario'),
choices=get_scenarios(),
)
class Meta:
model = PushToken
exclude = ['failed', 'push_scenario']
更新
你能给我们看一下你在哪里获取/处理用户id的代码/视图吗?@BogdanGoie用户id是URL的一部分,我不能在ModelForm
模块中获取它,我应该在ModelAdmin
中处理它。你能给我们看一下你的ModelAdmin
吗?你在哪里用那张表格?在changeform视图中?@AlexMorozov question Updated您可以向我们展示代码/视图,您可以在其中获取/处理用户id以及表单吗?@BogdanGoie用户id是URL的一部分,我无法在ModelForm
模块中获取它,我应该在ModelAdmin
中处理它。您可以向我们展示您的ModelAdmin
吗?你在哪里用那张表格?在changeform视图中?@AlexMorozov问题更新
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