AC-1040 Exposed list of choices for type field.

This commit is contained in:
Chris Church
2014-03-29 14:34:18 -04:00
parent 5ad0282495
commit fe5d154d76
4 changed files with 37 additions and 7 deletions

View File

@@ -197,6 +197,14 @@ class GenericAPIView(generics.GenericAPIView, APIView):
# appropriate metadata about the fields that should be supplied.
serializer = self.get_serializer()
actions['GET'] = serializer.metadata()
# Inject the type field choices into GET options as well as on
# the metadata itself.
if 'type' in actions['GET']:
actions['GET']['type']['type'] = 'multiple choice'
actions['GET']['type']['choices'] = [
(x, unicode(get_model_for_type(x)._meta.verbose_name))
for x in serializer.get_types()
]
ret['types'] = serializer.get_types()
if actions:
ret['actions'] = actions