aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Christie2012-12-06 14:58:18 -0800
committerTom Christie2012-12-06 14:58:18 -0800
commita463ddbb37edb725626b5b819266f3962bafc160 (patch)
tree48cdb73f72aacb8e90d9ba21387303f7852f36c2
parent26cfa023263576258e53fe23bc92e437398ff15f (diff)
parente044fa089b5ccdcc3557a65c106fad0f44f1b7b8 (diff)
downloaddjango-rest-framework-a463ddbb37edb725626b5b819266f3962bafc160.tar.bz2
Merge pull request #470 from minddust/fix-#469
fixed #469 - RegexField <--> BrowsableAPI Bug
-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 @@
>
> &mdash; 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 ff39fac4..c28a9695 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