From d3a118c728729f63f7e7c7c39b62a7932ca06391 Mon Sep 17 00:00:00 2001 From: Alan Justino Date: Tue, 10 Dec 2013 17:14:17 -0200 Subject: [PATCH] SimpleRouter.get_lookup_regex got lookup_prefix This allows @alanjds/drf-nested-routers to not duplicate/monkeypatch work made here --- rest_framework/routers.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rest_framework/routers.py b/rest_framework/routers.py index 3fee1e494..7915991d9 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): """