django - Unable to delete record in DB when using DestroyAPIView -
i'm trying write django rest framework based backend learning purpose.
i've created simple school model, has name , description field (please note primary key auto populated).
app's models.py data below,
from django.db import models class school(models.model): name = models.charfield(max_length=255) description = models.textfield() class meta: ordering = ('id',) def __str__(self): return self.name app's views.py data below,
from .models import school .serializers import schoolserializer rest_framework import status rest_framework import generics rest_framework.decorators import permission_classes rest_framework.permissions import isadminuser rest_framework.response import response class schoollist(generics.listcreateapiview): queryset = school.objects.all() serializer_class = schoolserializer permission_classes(isadminuser,) def list(self, request, *args, **kwargs): queryset = self.get_queryset() serializer = schoolserializer(queryset, many=true) return response(serializer.data) @permission_classes((isadminuser, )) def post(self, request, format=none): user = request.user serializer = schoolserializer(data=request.data, context={'user':user}) if serializer.is_valid(): serializer.save() return response(serializer.data, status=status.http_201_created) return response(serializer.errors, status=status.http_400_bad_request) class schooldetail(generics.retrieveapiview): queryset = school.objects.all() serializer_class = schoolserializer class schooldelete(generics.destroyapiview): queryset = school.objects.all() serializer_class = schoolserializer def delete(self, request, *args, **kwargs): return self.destroy(request, *args, **kwargs) app's urls.py data below,
from django.conf.urls import url rest_framework.urlpatterns import format_suffix_patterns . import views urlpatterns = ( url(r'^schools/$', views.schoollist.as_view()), url(r'^schools/(?p<pk>[0-9]+)/$', views.schooldetail.as_view()), url(r'^schools/delete/(?p<pk>[0-9]+)/$', views.schooldelete.as_view()), ) urlpatterns = format_suffix_patterns(urlpatterns) i'm trying delete particular school entry using delete rest api call,
http --json delete http://127.0.0.1:8000/schools/delete/1 http/1.0 301 moved permanently content-type: text/html; charset=utf-8 date: tue, 12 sep 2017 16:06:58 gmt location: /schools/delete/1/ server: wsgiserver/0.2 cpython/3.5.2 after doing when check school list using api (http://127.0.0.1:8000/schools/), see school record not being deleted.
what mistake here?
Comments
Post a Comment