使用django模型从json请求中获取db信息

时间:2017-05-04 16:33:30

标签: json django postgresql

我正在使用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

获取有关模型类中用户的其他信息。

1 个答案:

答案 0 :(得分:1)

如果我理解,您想要检索与请求正文中发送的电子邮件关联的用户对象:

as_user = models.User.objects.get(email=data['asUser'])

如果无法找到电子邮件,那么会引发models.User.DoesNotExist例外。