diff options
| author | Ludwig Kraatz | 2012-11-08 16:02:03 +0100 | 
|---|---|---|
| committer | Ludwig Kraatz | 2012-11-08 16:02:03 +0100 | 
| commit | 5cd64cc551c8c519bc9797ebf4336bd8c6128250 (patch) | |
| tree | 83ba92436bb2a09c85751fd84acfd5de27a7c81b /rest_framework/renderers.py | |
| parent | 607cf823313d4a3bdb0da4caddf19739a5f133b2 (diff) | |
| download | django-rest-framework-5cd64cc551c8c519bc9797ebf4336bd8c6128250.tar.bz2 | |
Fields specify what FormFieldClass should be used by BrowsableApiRenderer
added SerializerField Attribute "form_field_class" and defaults for
existing Fields
Diffstat (limited to 'rest_framework/renderers.py')
| -rw-r--r-- | rest_framework/renderers.py | 24 | 
1 files changed, 1 insertions, 23 deletions
diff --git a/rest_framework/renderers.py b/rest_framework/renderers.py index 748c1512..4f3aa02c 100644 --- a/rest_framework/renderers.py +++ b/rest_framework/renderers.py @@ -258,22 +258,6 @@ class BrowsableAPIRenderer(BaseRenderer):      media_type = 'text/html'      format = 'api'      template = 'rest_framework/api.html' -    field_mapping = { -        serializers.FloatField: forms.FloatField, -        serializers.IntegerField: forms.IntegerField, -        serializers.DateTimeField: forms.DateTimeField, -        serializers.DateField: forms.DateField, -        serializers.EmailField: forms.EmailField, -        serializers.CharField: forms.CharField, -        serializers.ChoiceField: forms.ChoiceField, -        serializers.BooleanField: forms.BooleanField, -        serializers.PrimaryKeyRelatedField: forms.ChoiceField, -        serializers.ManyPrimaryKeyRelatedField: forms.MultipleChoiceField, -        serializers.SlugRelatedField: forms.ChoiceField, -        serializers.ManySlugRelatedField: forms.MultipleChoiceField, -        serializers.HyperlinkedRelatedField: forms.ChoiceField, -        serializers.ManyHyperlinkedRelatedField: forms.MultipleChoiceField -    }      def get_default_renderer(self, view):          """ @@ -346,13 +330,7 @@ class BrowsableAPIRenderer(BaseRenderer):              kwargs['label'] = k -            try: -                fields[k] = self.field_mapping[v.__class__](**kwargs) -            except KeyError: -                if getattr(v, 'choices', None) is not None: -                    fields[k] = forms.ChoiceField(**kwargs) -                else: -                    fields[k] = forms.CharField(**kwargs) +            fields[k] = v.form_field_class(**kwargs)          return fields      def get_form(self, view, method, request):  | 
