2015-01-27 10 views
7

kullanarak, id tarafından bir kullanıcı almak için id ajax tarafından gönderilenDjango, nasıl django.contrib.auth.models.User

User.objects.get(id=request.POST['id']) 

Ama doesn çalışma ve

User matching query does not exist. 

döndürür:, id tarafından ... Ben bu yüzden bunu böyle bulmaya çalışıyorum bir kullanıcı silmek istiyor :

$("#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; 
    }); 

bunu hata ayıklama ve kullanıcı DB var, Tamam ve kimliği Bunu nasıl

doğrudur? django Kullanıcı örnekleri için silme yöntemi var mı? Bunu yapmanın yolu ise

sayesinde

+0

POST sözlüğünü nasıl doldurursunuz? O Delete gibi – karthikr

+0

, veri id ajax geçiyor ve bu ok, ben bunun baskı almak ve onu – tubadc

+0

o bağlantının düz tık mi, yoksa bir AJAX yazı olduğunu doğru değil mi? Ayrıca, lütfen soruyu düzenleyin - bu şekilde daha okunabilir. – karthikr

cevap

10

, buradaki sorun, talep kullanıcı yok olmasıdır. Bu durumda işlemek istiyorsanız, bunu kullanın:

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. 

Ayrıca, Int için id dönüşümü gerekiyor.

+0

burada gönderi: , id henüz DB'de var .... – tubadc

+0

@tubadc id. Cevabımı güncelledim. – levi

+0

güzel, teşekkürler! – tubadc