发布JSON布尔Django

时间:2018-11-23 16:42:40

标签: json django post

我正尝试发送包含如下布尔值的POST请求:

{
"is_manager": true
}

然后,该请求由django-allauth中的替代适配器处理:

from allauth.account.adapter import DefaultAccountAdapter

class CustomUserAccountAdapter(DefaultAccountAdapter):

    def save_user(self, request, user, form, commit=True):
        """
        Saves a new `User` instance using information provided in the
        signup form.
        """
        from allauth.account.utils import user_field

        user = super().save_user(request, user, form, False)
        user_field(user, 'is_manager', request.data.get('is_manager', False))
        user.save()
        return user

但是我得到这个错误:

  

TypeError:“布尔”对象不可下标

我尝试使用json.loads,但是此方法仅接受字符串作为参数。我该怎么办?

谢谢。

2 个答案:

答案 0 :(得分:0)

发现了一个临时黑客:我可以发送true而不是发送"True"。这将得到正确处理。

答案 1 :(得分:0)

这是在JSON中添加布尔值的正确方法。

{ "is_manager": True }