在执行ModelForm时,我想根据当前用户是否为超级用户执行不同类型的验证检查。如何访问当前的请求用户?
您可以将用户对象作为额外的参数传递给表单构造函数。
例如
f = MyForm(user=request.user)
构造函数将如下所示:
class MyForm(forms.ModelForm): def __init__(self, *args, **kwargs): self.user = kwargs.pop('user',None) super(MyForm, self).__init__(*args, **kwargs)
然后根据需要在clean_XX表单中使用user