Ensure the request is on the Metadata object

in order to correctly populate the default for the TOWER_URL_BASE
field, which is specific to the host and preferred scheme.
This commit is contained in:
Jeff Bradberry 2019-06-11 12:37:34 -04:00
parent ab587e7e6c
commit aa548442ce

View File

@ -348,12 +348,14 @@ class GenericAPIView(generics.GenericAPIView, APIView):
'model_verbose_name_plural': smart_text(self.model._meta.verbose_name_plural),
})
serializer = self.get_serializer()
metadata = self.metadata_class()
metadata.request = self.request
for method, key in [
('GET', 'serializer_fields'),
('POST', 'serializer_create_fields'),
('PUT', 'serializer_update_fields')
]:
d[key] = self.metadata_class().get_serializer_info(serializer, method=method)
d[key] = metadata.get_serializer_info(serializer, method=method)
d['settings'] = settings
return d