aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Christie2013-12-13 12:19:49 -0800
committerTom Christie2013-12-13 12:19:49 -0800
commitfbaba0a309d7ead47e4ec2290a69604a8f039bda (patch)
treef2de6253618ce061c660e65f0f5c7146d18eefc4
parent87b99d1ac8ce212dd0751f597e3279d80d4fcad1 (diff)
parentd3a118c728729f63f7e7c7c39b62a7932ca06391 (diff)
downloaddjango-rest-framework-fbaba0a309d7ead47e4ec2290a69604a8f039bda.tar.bz2
Merge pull request #1281 from alanjds/router-prefix-patch
'lookup_prefix' on SimpleRouter.get_lookup_regex, easing code de-duplication
-rw-r--r--rest_framework/routers.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/rest_framework/routers.py b/rest_framework/routers.py
index 3fee1e49..7915991d 100644
--- a/rest_framework/routers.py
+++ b/rest_framework/routers.py
@@ -184,18 +184,18 @@ class SimpleRouter(BaseRouter):
bound_methods[method] = action
return bound_methods
- def get_lookup_regex(self, viewset):
+ def get_lookup_regex(self, viewset, lookup_prefix=''):
"""
Given a viewset, return the portion of URL regex that is used
to match against a single instance.
"""
if self.trailing_slash:
- base_regex = '(?P<{lookup_field}>[^/]+)'
+ base_regex = '(?P<{lookup_prefix}{lookup_field}>[^/]+)'
else:
# Don't consume `.json` style suffixes
- base_regex = '(?P<{lookup_field}>[^/.]+)'
+ base_regex = '(?P<{lookup_prefix}{lookup_field}>[^/.]+)'
lookup_field = getattr(viewset, 'lookup_field', 'pk')
- return base_regex.format(lookup_field=lookup_field)
+ return base_regex.format(lookup_field=lookup_field, lookup_prefix=lookup_prefix)
def get_urls(self):
"""