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):
111
111
return OrderedDict ([
112
112
(field_name , self .get_field_info (field ))
113
113
for field_name , field in serializer .fields .items ()
114
+ if not isinstance (field , serializers .HiddenField )
114
115
])
115
116
116
117
def get_field_info (self , field ):
Original file line number Diff line number Diff line change @@ -275,6 +275,27 @@ def get_serializer(self):
275
275
view = ExampleView .as_view (versioning_class = scheme )
276
276
view (request = request )
277
277
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
+
278
299
def test_list_serializer_metadata_returns_info_about_fields_of_child_serializer (self ):
279
300
class ExampleSerializer (serializers .Serializer ):
280
301
integer_field = serializers .IntegerField (max_value = 10 )
You can’t perform that action at this time.
0 commit comments