mirror of
https://github.com/encode/django-rest-framework.git
synced 2024-11-27 03:54:01 +03:00
Merge pull request #2 from nschlemm/issue-192-expose-fields-for-options
Issue 192 expose fields for options
This commit is contained in:
commit
2a00454517
|
@ -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
|
||||
|
|
|
@ -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 = {}
|
||||
|
|
Loading…
Reference in New Issue
Block a user