Merge pull request #4708 from AlanCoding/browser_big_load

Avoiding pulling full list from DB in metadata
This commit is contained in:
Alan Rominger
2017-01-13 13:46:20 -05:00
committed by GitHub

View File

@@ -13,7 +13,7 @@ from django.utils.translation import ugettext_lazy as _
from rest_framework import exceptions from rest_framework import exceptions
from rest_framework import metadata from rest_framework import metadata
from rest_framework import serializers from rest_framework import serializers
from rest_framework.relations import RelatedField from rest_framework.relations import RelatedField, ManyRelatedField
from rest_framework.request import clone_request from rest_framework.request import clone_request
# Ansible Tower # Ansible Tower
@@ -75,7 +75,7 @@ class Metadata(metadata.SimpleMetadata):
elif getattr(field, 'fields', None): elif getattr(field, 'fields', None):
field_info['children'] = self.get_serializer_info(field) field_info['children'] = self.get_serializer_info(field)
if hasattr(field, 'choices') and not isinstance(field, RelatedField): if not isinstance(field, (RelatedField, ManyRelatedField)) and hasattr(field, 'choices'):
field_info['choices'] = [(choice_value, choice_name) for choice_value, choice_name in field.choices.items()] field_info['choices'] = [(choice_value, choice_name) for choice_value, choice_name in field.choices.items()]
# Indicate if a field is write-only. # Indicate if a field is write-only.