Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 排除django管理表单中的自定义字段_Python_Django_Django Forms_Django Admin - Fatal编程技术网

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