mirror of
				https://github.com/encode/django-rest-framework.git
				synced 2025-11-04 09:57:55 +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