Unknown123
Unknown123

Reputation: 228

Delete record in Django db with ajax

I must delete record from Django db use Jquery/Ajax. Can you help me?

django /views function

def owner(request, identifer):
    x = get_object_or_404()
    if request.method == "DELETE":
        x.objects.delete()

ajax code here:

 $(document).ready(function() {
       $(".delete").click(function(){
            var id_number = this.id;
            alert(id_number);
            $.ajax({
               type: 'DELETE',
               url: 'owner/{item.id}/',
               data: 'identifer='+id_number,
               success: function(){
                  if(data) {alert("Success!")}
            });
         });
  });

Upvotes: 1

Views: 6393

Answers (2)

dentemm
dentemm

Reputation: 6379

You didn't explain what went wrong, but if I look into your code it seems you need to change you view code:

def owner(request, identifer):

    try:
        x = <YourModelName>.objects.get(id=identifier)

    except <YourModelName>.DoesNotExist:

        return error message here ...

    x.delete()

    return success message here ...

There is also an error in your JS code, you didn't use double brackets:

url: "owner/{{item.id}}/"

But even better you shouldn't hardcode your url, it's better to use the {% url %} template tag

url: "{% url 'name-of-owner-view' item.id %}"

Upvotes: 0

Viktor
Viktor

Reputation: 237

You must defind you type of data

    <script>
        function deleteCommand(svCommandId) {
            var url = $('#service_command_form').attr('action') + svCommandId;
            $.ajax({
                url: url,
                type: "DELETE",
                dataType: "json",
                beforeSend: function (xhr) {
                    xhr.setRequestHeader("X-CSRFToken", '{{ csrf_token }}');
                },
                success: function () {
                    $('#service_command_' + svCommandId).remove();
                    addMessage("Deleted data successfully");
                },
                error: function () {
                    addMessage("Delete failed!");
                }
            });

Upvotes: 2

Related Questions