我正在使用Django 1.9.6。我有一个简化的用户模型,它对应于数据库中的数据:
class User(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(_('email address'), unique=True)
is_active = models.BooleanField(_('active'), default=False,)
我希望来自is_active
的用户信息(email
)。我简化的用户视图如下:
def settings(self, request, **kwargs):
self.method_check(request, ['post'])
data = self.deserialize(
request, request.body,
format=request.META.get(
'CONTENT_TYPE',
'application/json; charset=UTF-8'
)
)
as_user = request.as_user
if as_user:
return self.create_response(request, {
'success': True,
'is_active': as_user.is_active,
})
return self.create_response(request, {
'success': False,
})
请求正文是一个看起来像的json:
{
"asUser": "user_email@company.com"
}
我不确定我目前在哪条线上做了什么:
as_user = request.as_user
获取有关模型类中用户的其他信息。
答案 0 :(得分:1)
如果我理解,您想要检索与请求正文中发送的电子邮件关联的用户对象:
as_user = models.User.objects.get(email=data['asUser'])
如果无法找到电子邮件,那么会引发models.User.DoesNotExist
例外。