django:如何在ModelForm中访问当前请求用户?

在执行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

以上是 django:如何在ModelForm中访问当前请求用户? 的全部内容, 来源链接: utcz.com/qa/408913.html

回到顶部