File tree Expand file tree Collapse file tree 2 files changed +22
-0
lines changed
Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -111,6 +111,7 @@ def get_serializer_info(self, serializer):
111111 return OrderedDict ([
112112 (field_name , self .get_field_info (field ))
113113 for field_name , field in serializer .fields .items ()
114+ if not isinstance (field , serializers .HiddenField )
114115 ])
115116
116117 def get_field_info (self , field ):
Original file line number Diff line number Diff line change @@ -275,6 +275,27 @@ def get_serializer(self):
275275 view = ExampleView .as_view (versioning_class = scheme )
276276 view (request = request )
277277
278+ def test_dont_show_hidden_fields (self ):
279+ """
280+ HiddenField shouldn't show up in SimpleMetadata at all.
281+ """
282+ class ExampleSerializer (serializers .Serializer ):
283+ integer_field = serializers .IntegerField (max_value = 10 )
284+ hidden_field = serializers .HiddenField (default = 1 )
285+
286+ class ExampleView (views .APIView ):
287+ """Example view."""
288+ def post (self , request ):
289+ pass
290+
291+ def get_serializer (self ):
292+ return ExampleSerializer ()
293+
294+ view = ExampleView .as_view ()
295+ response = view (request = request )
296+ assert response .status_code == status .HTTP_200_OK
297+ assert set (response .data ['actions' ]['POST' ].keys ()) == {'integer_field' }
298+
278299 def test_list_serializer_metadata_returns_info_about_fields_of_child_serializer (self ):
279300 class ExampleSerializer (serializers .Serializer ):
280301 integer_field = serializers .IntegerField (max_value = 10 )
You can’t perform that action at this time.
0 commit comments