How to perform the delete method in drf django





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















How to perform the delete request in Django drf? How will I pass the params for the request?
Kindly help with the solution. I am very new in this drf-django-python programming.



class DeleteView(APIView):
def delete(self, request,format=None):
id = request.POST['book_id']
email = request.POST['email']
book = models.Book.objects.filter(book_id=id)
book_uploader = serializers.BookSerializer(book[0]).data['uploader']['email']
logged_in = request.user
print(log)
if book_uploader == logged_in :

books = models.BookUserRelationship.objects.filter(book= id, user__email=email)

books.delete()
return Response("Successfully removed", status=status.HTTP_204_NO_CONTENT)
else :
return Response("Not able to remove")









share|improve this question

























  • It depends on your view class and implementation. Can you show your view class?

    – JPG
    Nov 22 '18 at 4:25











  • edited the question

    – kkr
    Nov 22 '18 at 4:38











  • Can you please help me with the solution

    – kkr
    Nov 22 '18 at 4:44











  • How you want to send book_id and email ? Query params or embedded in url or as post data ?

    – Mohammad Umair
    Nov 22 '18 at 5:25











  • to be embedded in url

    – kkr
    Nov 22 '18 at 5:38


















0















How to perform the delete request in Django drf? How will I pass the params for the request?
Kindly help with the solution. I am very new in this drf-django-python programming.



class DeleteView(APIView):
def delete(self, request,format=None):
id = request.POST['book_id']
email = request.POST['email']
book = models.Book.objects.filter(book_id=id)
book_uploader = serializers.BookSerializer(book[0]).data['uploader']['email']
logged_in = request.user
print(log)
if book_uploader == logged_in :

books = models.BookUserRelationship.objects.filter(book= id, user__email=email)

books.delete()
return Response("Successfully removed", status=status.HTTP_204_NO_CONTENT)
else :
return Response("Not able to remove")









share|improve this question

























  • It depends on your view class and implementation. Can you show your view class?

    – JPG
    Nov 22 '18 at 4:25











  • edited the question

    – kkr
    Nov 22 '18 at 4:38











  • Can you please help me with the solution

    – kkr
    Nov 22 '18 at 4:44











  • How you want to send book_id and email ? Query params or embedded in url or as post data ?

    – Mohammad Umair
    Nov 22 '18 at 5:25











  • to be embedded in url

    – kkr
    Nov 22 '18 at 5:38














0












0








0








How to perform the delete request in Django drf? How will I pass the params for the request?
Kindly help with the solution. I am very new in this drf-django-python programming.



class DeleteView(APIView):
def delete(self, request,format=None):
id = request.POST['book_id']
email = request.POST['email']
book = models.Book.objects.filter(book_id=id)
book_uploader = serializers.BookSerializer(book[0]).data['uploader']['email']
logged_in = request.user
print(log)
if book_uploader == logged_in :

books = models.BookUserRelationship.objects.filter(book= id, user__email=email)

books.delete()
return Response("Successfully removed", status=status.HTTP_204_NO_CONTENT)
else :
return Response("Not able to remove")









share|improve this question
















How to perform the delete request in Django drf? How will I pass the params for the request?
Kindly help with the solution. I am very new in this drf-django-python programming.



class DeleteView(APIView):
def delete(self, request,format=None):
id = request.POST['book_id']
email = request.POST['email']
book = models.Book.objects.filter(book_id=id)
book_uploader = serializers.BookSerializer(book[0]).data['uploader']['email']
logged_in = request.user
print(log)
if book_uploader == logged_in :

books = models.BookUserRelationship.objects.filter(book= id, user__email=email)

books.delete()
return Response("Successfully removed", status=status.HTTP_204_NO_CONTENT)
else :
return Response("Not able to remove")






django django-rest-framework






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 22 '18 at 11:13







kkr

















asked Nov 22 '18 at 4:21









kkrkkr

338




338













  • It depends on your view class and implementation. Can you show your view class?

    – JPG
    Nov 22 '18 at 4:25











  • edited the question

    – kkr
    Nov 22 '18 at 4:38











  • Can you please help me with the solution

    – kkr
    Nov 22 '18 at 4:44











  • How you want to send book_id and email ? Query params or embedded in url or as post data ?

    – Mohammad Umair
    Nov 22 '18 at 5:25











  • to be embedded in url

    – kkr
    Nov 22 '18 at 5:38



















  • It depends on your view class and implementation. Can you show your view class?

    – JPG
    Nov 22 '18 at 4:25











  • edited the question

    – kkr
    Nov 22 '18 at 4:38











  • Can you please help me with the solution

    – kkr
    Nov 22 '18 at 4:44











  • How you want to send book_id and email ? Query params or embedded in url or as post data ?

    – Mohammad Umair
    Nov 22 '18 at 5:25











  • to be embedded in url

    – kkr
    Nov 22 '18 at 5:38

















It depends on your view class and implementation. Can you show your view class?

– JPG
Nov 22 '18 at 4:25





It depends on your view class and implementation. Can you show your view class?

– JPG
Nov 22 '18 at 4:25













edited the question

– kkr
Nov 22 '18 at 4:38





edited the question

– kkr
Nov 22 '18 at 4:38













Can you please help me with the solution

– kkr
Nov 22 '18 at 4:44





Can you please help me with the solution

– kkr
Nov 22 '18 at 4:44













How you want to send book_id and email ? Query params or embedded in url or as post data ?

– Mohammad Umair
Nov 22 '18 at 5:25





How you want to send book_id and email ? Query params or embedded in url or as post data ?

– Mohammad Umair
Nov 22 '18 at 5:25













to be embedded in url

– kkr
Nov 22 '18 at 5:38





to be embedded in url

– kkr
Nov 22 '18 at 5:38












1 Answer
1






active

oldest

votes


















0














In comments you noticed that parameters will be embedded in url but you are trying to get values from POST dict.



If your url is something like




/books/id/email/




You should use request.kwargs dict like request.kwargs.get('email')



But if your url is like




/books/id/?email=someemail@google.com




id would be in request.kwargs but email in request.query_params



Notice that every url variable is in the request.query_params dict.



IMPORTANT



If you have ID url param without named group, viewset would not be able to get this from request.kwargs by name






share|improve this answer
























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53423856%2fhow-to-perform-the-delete-method-in-drf-django%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    In comments you noticed that parameters will be embedded in url but you are trying to get values from POST dict.



    If your url is something like




    /books/id/email/




    You should use request.kwargs dict like request.kwargs.get('email')



    But if your url is like




    /books/id/?email=someemail@google.com




    id would be in request.kwargs but email in request.query_params



    Notice that every url variable is in the request.query_params dict.



    IMPORTANT



    If you have ID url param without named group, viewset would not be able to get this from request.kwargs by name






    share|improve this answer




























      0














      In comments you noticed that parameters will be embedded in url but you are trying to get values from POST dict.



      If your url is something like




      /books/id/email/




      You should use request.kwargs dict like request.kwargs.get('email')



      But if your url is like




      /books/id/?email=someemail@google.com




      id would be in request.kwargs but email in request.query_params



      Notice that every url variable is in the request.query_params dict.



      IMPORTANT



      If you have ID url param without named group, viewset would not be able to get this from request.kwargs by name






      share|improve this answer


























        0












        0








        0







        In comments you noticed that parameters will be embedded in url but you are trying to get values from POST dict.



        If your url is something like




        /books/id/email/




        You should use request.kwargs dict like request.kwargs.get('email')



        But if your url is like




        /books/id/?email=someemail@google.com




        id would be in request.kwargs but email in request.query_params



        Notice that every url variable is in the request.query_params dict.



        IMPORTANT



        If you have ID url param without named group, viewset would not be able to get this from request.kwargs by name






        share|improve this answer













        In comments you noticed that parameters will be embedded in url but you are trying to get values from POST dict.



        If your url is something like




        /books/id/email/




        You should use request.kwargs dict like request.kwargs.get('email')



        But if your url is like




        /books/id/?email=someemail@google.com




        id would be in request.kwargs but email in request.query_params



        Notice that every url variable is in the request.query_params dict.



        IMPORTANT



        If you have ID url param without named group, viewset would not be able to get this from request.kwargs by name







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 25 '18 at 11:54









        mon iomon io

        2464




        2464
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53423856%2fhow-to-perform-the-delete-method-in-drf-django%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            How to pass form data using jquery Ajax to insert data in database?

            National Museum of Racing and Hall of Fame

            Guess what letter conforming each word