diff options
Diffstat (limited to 'rest_framework')
| -rw-r--r-- | rest_framework/tests/generics.py | 42 | ||||
| -rw-r--r-- | rest_framework/views.py | 7 |
2 files changed, 29 insertions, 20 deletions
diff --git a/rest_framework/tests/generics.py b/rest_framework/tests/generics.py index 293c6633..2cbb55e6 100644 --- a/rest_framework/tests/generics.py +++ b/rest_framework/tests/generics.py @@ -125,25 +125,25 @@ class TestRootView(TestCase): 'actions': {} } # TODO: this is just a draft for fields' metadata - needs review and decision - for method in ('GET', 'POST',): - expected['actions'][method] = { - 'text': { - # TODO add help_text and label when they are available - #'help_text': '', - #'label': None, - 'read_only': False, - 'required': True, - 'type': 'Single Character', - }, - 'id': { - # TODO add help_text and label when they are available - #'help_text': '', - #'label': None, - 'read_only': True, - 'required': False, - 'type': 'Integer', - }, - } + expected['actions']['GET'] = {} + expected['actions']['POST'] = { + 'text': { + # TODO add help_text and label when they are available + #'help_text': '', + #'label': None, + 'read_only': False, + 'required': True, + 'type': 'Single Character', + }, + 'id': { + # TODO add help_text and label when they are available + #'help_text': '', + #'label': None, + 'read_only': True, + 'required': False, + 'type': 'Integer', + }, + } self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(response.data, expected) @@ -263,7 +263,9 @@ class TestInstanceView(TestCase): 'actions': {} } # TODO: this is just a draft idea for fields' metadata - needs review and decision - for method in ('GET', 'PATCH', 'PUT', 'DELETE'): + for method in ('GET', 'DELETE'): + expected['actions'][method] = {} + for method in ('PATCH', 'PUT'): expected['actions'][method] = { 'text': { # TODO uncomment label and description when they are diff --git a/rest_framework/views.py b/rest_framework/views.py index e8bd9f50..c9d55c18 100644 --- a/rest_framework/views.py +++ b/rest_framework/views.py @@ -79,7 +79,14 @@ class APIView(View): try: self.check_permissions(cloned_request) + # TODO: discuss whether and how to expose parameters like e.g. filter or paginate + if method in ('GET', 'DELETE'): + actions[method] = {} + continue + # TODO: find right placement - APIView does not have get_serializer + if not hasattr(self, 'get_serializer'): + continue serializer = self.get_serializer() if serializer is not None: field_name_types = {} |
