diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md index 867b138bf..c2fe3f64d 100644 --- a/docs/topics/release-notes.md +++ b/docs/topics/release-notes.md @@ -4,6 +4,10 @@ > > — Eric S. Raymond, [The Cathedral and the Bazaar][cite]. +## Master + +* Bugfix: Fix `RegexField` to work with `BrowsableAPIRenderer` + ## 2.1.6 **Date**: 23rd Nov 2012 diff --git a/rest_framework/fields.py b/rest_framework/fields.py index 482a3d485..ea0667f50 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -817,6 +817,7 @@ class EmailField(CharField): class RegexField(CharField): type_name = 'RegexField' + form_field_class = forms.RegexField def __init__(self, regex, max_length=None, min_length=None, *args, **kwargs): super(RegexField, self).__init__(max_length, min_length, *args, **kwargs) diff --git a/rest_framework/renderers.py b/rest_framework/renderers.py index 25a32baae..1220bca10 100644 --- a/rest_framework/renderers.py +++ b/rest_framework/renderers.py @@ -320,6 +320,9 @@ class BrowsableAPIRenderer(BaseRenderer): if getattr(v, 'choices', None) is not None: kwargs['choices'] = v.choices + if getattr(v, 'regex', None) is not None: + kwargs['regex'] = v.regex + if getattr(v, 'widget', None): widget = copy.deepcopy(v.widget) kwargs['widget'] = widget