如何在模型验证中访问id?

时间:2012-07-21 14:10:16

标签: python django forms validation model

我有一个模型和一个用ModelForm创建的表单。我正在使用自定义验证,我需要访问我正在编辑的记录的ID。 有没有办法通过以某种方式或任何其他方式插入自定义隐藏字段将变量传输到窗体?

1 个答案:

答案 0 :(得分:3)

你不需要隐藏的领域。您可以将变量从视图传输到表单:

查看:

def some_view(request):
    if request.method == 'POST':
        some_id = 1

        form = SomeForm(data=request.POST, some_id=some_id)

<强>形式:

class SomeForm(ModelForm):
    def __init__(self, *args, **kwargs):
        if 'some_id' in kwargs:
            self.some_id = kwargs.pop('some_id')

        super(SomeForm, self).__init__(*args, **kwargs)