diff options
| author | Raphaël Barrois | 2015-03-13 01:07:20 +0100 | 
|---|---|---|
| committer | Raphaël Barrois | 2015-03-13 01:07:20 +0100 | 
| commit | 8d0dbc8092a754e1f0f7d80d93506072556f35a2 (patch) | |
| tree | acf473ed37fce19c8f62b4d365d0b67d564d49f8 /rest_framework/routers.py | |
| parent | a02098b855aad0847cddacc4bed2d280017b46c5 (diff) | |
| download | django-rest-framework-8d0dbc8092a754e1f0f7d80d93506072556f35a2.tar.bz2 | |
Fix lookup_url_kwarg handling in viewsets.
The ``lookup_url_kwarg`` is intended to set the name of a field in the
URL regexps when using custom ``lookup_field``, but the routers ignore
it altogether.
Diffstat (limited to 'rest_framework/routers.py')
| -rw-r--r-- | rest_framework/routers.py | 5 | 
1 files changed, 3 insertions, 2 deletions
| diff --git a/rest_framework/routers.py b/rest_framework/routers.py index b1e39ff7..4df852bf 100644 --- a/rest_framework/routers.py +++ b/rest_framework/routers.py @@ -218,14 +218,15 @@ class SimpleRouter(BaseRouter):          https://github.com/alanjds/drf-nested-routers          """ -        base_regex = '(?P<{lookup_prefix}{lookup_field}>{lookup_value})' +        base_regex = '(?P<{lookup_prefix}{lookup_url_kwarg}>{lookup_value})'          # Use `pk` as default field, unset set.  Default regex should not          # consume `.json` style suffixes and should break at '/' boundaries.          lookup_field = getattr(viewset, 'lookup_field', 'pk') +        lookup_url_kwarg = getattr(viewset, 'lookup_url_kwarg', None) or lookup_field          lookup_value = getattr(viewset, 'lookup_value_regex', '[^/.]+')          return base_regex.format(              lookup_prefix=lookup_prefix, -            lookup_field=lookup_field, +            lookup_url_kwarg=lookup_url_kwarg,              lookup_value=lookup_value          ) | 
