Django,如何通过id获取用户,使用django.contrib.auth.models.User

tub*_*adc 10 python django django-models

我不知道如何从django模型,django.contrib.auth.models.User获取用户,通过id ...我想删除一个用户,所以我试图找到它:

 User.objects.get(id=request.POST['id'])
Run Code Online (Sandbox Code Playgroud)

但它不起作用,并且返回

User matching query does not exist.
Run Code Online (Sandbox Code Playgroud)

id由ajax发送:

 $("#dynamic-table").on('click','.member_delete_btn', function() {
        if (confirm("Are you sure? the member will be deleted...") == true) {
            $.ajax({
                type: "POST",
                url: "/panel/member/delete/",
                data: { id: $(this).attr('data-id'), 'csrfmiddlewaretoken': '{{ csrf_token }}' },
                success: function (data) {
                     if(data.success) {
                         $('#result').html('<div class="alert alert-success"> <strong>Well done!</strong> Member deleted.</div>');
                         list_members();
                     }else{
                         $('#result').html('<div class="alert alert-warning"> <strong>Warning!</strong> Member not deleted.</div>');
                     }
                },
                error: function (data) {
                    alert("failure:" + data.error);
                }
            });
        }
        else {
            return false;
        }
        return false;
    });
Run Code Online (Sandbox Code Playgroud)

我调试它,没关系,用户存在于数据库中,ID正确

我怎么做?是否有django用户实例的删除方法?

谢谢

lev*_*evi 13

这是实现它的方法,这里的问题是您请求的用户不存在.如果要处理这种情况,请使用:

try:
   user_id = int(request.POST['id'])
   user = User.objects.get(id=user_id)
except  User.DoesNotExist:
   //handle the case when the user does not exist. 
Run Code Online (Sandbox Code Playgroud)

此外,您需要将您的ID转换为Int.