mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-02-26 08:20:46 +03:00
Don't pass an instance in to delete_instance, as it should be inferred
This commit is contained in:
parent
a07c615905
commit
eb407374f0
|
@ -695,7 +695,7 @@ class DeleteModelMixin(ModelMixin, InstanceReaderMixin, InstanceWriterMixin):
|
||||||
Behavior to delete a `model` instance on DELETE requests
|
Behavior to delete a `model` instance on DELETE requests
|
||||||
"""
|
"""
|
||||||
def delete(self, request, *args, **kwargs):
|
def delete(self, request, *args, **kwargs):
|
||||||
self.delete_instance(instance)
|
self.delete_instance()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,8 +4,9 @@ from django.utils import simplejson as json
|
||||||
from djangorestframework import status
|
from djangorestframework import status
|
||||||
from djangorestframework.compat import RequestFactory
|
from djangorestframework.compat import RequestFactory
|
||||||
from django.contrib.auth.models import Group, User
|
from django.contrib.auth.models import Group, User
|
||||||
from djangorestframework.mixins import (CreateModelMixin, PaginatorMixin,
|
from djangorestframework.mixins import (CreateModelMixin, DeleteModelMixin,
|
||||||
ReadModelMixin, UpdateModelMixin)
|
PaginatorMixin, ReadModelMixin,
|
||||||
|
UpdateModelMixin)
|
||||||
from djangorestframework.resources import ModelResource
|
from djangorestframework.resources import ModelResource
|
||||||
from djangorestframework.response import Response, ErrorResponse
|
from djangorestframework.response import Response, ErrorResponse
|
||||||
from djangorestframework.tests.models import CustomUser
|
from djangorestframework.tests.models import CustomUser
|
||||||
|
@ -333,6 +334,45 @@ class TestModelUpdate(TestModelsTestCase):
|
||||||
self.assertEquals('foo2', response.groups.all()[1].name)
|
self.assertEquals('foo2', response.groups.all()[1].name)
|
||||||
|
|
||||||
|
|
||||||
|
class TestModelDelete(TestModelsTestCase):
|
||||||
|
"""Tests on DeleteModelMixin"""
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(TestModelsTestCase, self).setUp()
|
||||||
|
self.req = RequestFactory()
|
||||||
|
|
||||||
|
def test_delete(self):
|
||||||
|
group = Group.objects.create(name='my group')
|
||||||
|
|
||||||
|
self.assertEquals(1, Group.objects.count())
|
||||||
|
|
||||||
|
class GroupResource(ModelResource):
|
||||||
|
model = Group
|
||||||
|
|
||||||
|
# Delete existing
|
||||||
|
request = self.req.delete('/groups/' + str(group.pk))
|
||||||
|
mixin = DeleteModelMixin()
|
||||||
|
mixin.resource = GroupResource
|
||||||
|
|
||||||
|
mixin.request = request
|
||||||
|
mixin.args = ()
|
||||||
|
mixin.kwargs = {'pk': group.pk}
|
||||||
|
|
||||||
|
response = mixin.delete(request, **mixin.kwargs)
|
||||||
|
self.assertEquals(0, Group.objects.count())
|
||||||
|
|
||||||
|
# Delete at non-existing
|
||||||
|
request = self.req.delete('/groups/' + str(group.pk))
|
||||||
|
mixin = DeleteModelMixin()
|
||||||
|
mixin.resource = GroupResource
|
||||||
|
|
||||||
|
mixin.request = request
|
||||||
|
mixin.args = ()
|
||||||
|
mixin.kwargs = {'pk': group.pk}
|
||||||
|
|
||||||
|
self.assertRaises(ErrorResponse, mixin.delete, request, **mixin.kwargs)
|
||||||
|
|
||||||
|
|
||||||
class MockPaginatorView(PaginatorMixin, View):
|
class MockPaginatorView(PaginatorMixin, View):
|
||||||
total = 60
|
total = 60
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user