Commit 3d0f8b79 by Michael Shepanski

Fix for bug #363: ChoiceField missing in renderers.py

parent 3e031938
...@@ -281,6 +281,7 @@ class BrowsableAPIRenderer(BaseRenderer): ...@@ -281,6 +281,7 @@ class BrowsableAPIRenderer(BaseRenderer):
serializers.DateField: forms.DateField, serializers.DateField: forms.DateField,
serializers.EmailField: forms.EmailField, serializers.EmailField: forms.EmailField,
serializers.CharField: forms.CharField, serializers.CharField: forms.CharField,
serializers.ChoiceField: forms.ChoiceField,
serializers.BooleanField: forms.BooleanField, serializers.BooleanField: forms.BooleanField,
serializers.PrimaryKeyRelatedField: forms.ChoiceField, serializers.PrimaryKeyRelatedField: forms.ChoiceField,
serializers.ManyPrimaryKeyRelatedField: forms.MultipleChoiceField, serializers.ManyPrimaryKeyRelatedField: forms.MultipleChoiceField,
...@@ -316,6 +317,9 @@ class BrowsableAPIRenderer(BaseRenderer): ...@@ -316,6 +317,9 @@ class BrowsableAPIRenderer(BaseRenderer):
try: try:
fields[k] = field_mapping[v.__class__](**kwargs) fields[k] = field_mapping[v.__class__](**kwargs)
except KeyError: except KeyError:
if getattr(v, 'choices', None) is not None:
fields[k] = forms.ChoiceField(**kwargs)
else:
fields[k] = forms.CharField(**kwargs) fields[k] = forms.CharField(**kwargs)
return fields return fields
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment