mirror of
https://github.com/encode/django-rest-framework.git
synced 2024-11-23 10:03:57 +03:00
Merge pull request #1281 from alanjds/router-prefix-patch
'lookup_prefix' on SimpleRouter.get_lookup_regex, easing code de-duplication
This commit is contained in:
commit
fbaba0a309
|
@ -184,18 +184,18 @@ class SimpleRouter(BaseRouter):
|
||||||
bound_methods[method] = action
|
bound_methods[method] = action
|
||||||
return bound_methods
|
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
|
Given a viewset, return the portion of URL regex that is used
|
||||||
to match against a single instance.
|
to match against a single instance.
|
||||||
"""
|
"""
|
||||||
if self.trailing_slash:
|
if self.trailing_slash:
|
||||||
base_regex = '(?P<{lookup_field}>[^/]+)'
|
base_regex = '(?P<{lookup_prefix}{lookup_field}>[^/]+)'
|
||||||
else:
|
else:
|
||||||
# Don't consume `.json` style suffixes
|
# 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')
|
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):
|
def get_urls(self):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue
Block a user