aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/topics/release-notes.md4
-rw-r--r--rest_framework/fields.py1
-rw-r--r--rest_framework/renderers.py3
3 files changed, 8 insertions, 0 deletions
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index 867b138b..c2fe3f64 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 482a3d48..ea0667f5 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 25a32baa..1220bca1 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