diff options
| author | Tom Christie | 2014-01-13 15:37:52 +0000 |
|---|---|---|
| committer | Tom Christie | 2014-01-13 15:37:52 +0000 |
| commit | 2911cd64ad67ba193e3d37322ee71692cb482623 (patch) | |
| tree | aa841354589e877453aa93c846542ac8d1f9cd1a | |
| parent | 4ab97843e8ebdb037110e09d9e2a7cd45e61a406 (diff) | |
| download | django-rest-framework-2911cd64ad67ba193e3d37322ee71692cb482623.tar.bz2 | |
Minor tweaks to 'lookup_value_regex' work
| -rw-r--r-- | docs/topics/2.4-accouncement.md | 1 | ||||
| -rw-r--r-- | rest_framework/routers.py | 8 |
2 files changed, 4 insertions, 5 deletions
diff --git a/docs/topics/2.4-accouncement.md b/docs/topics/2.4-accouncement.md index 0cf50ce9..91472b9c 100644 --- a/docs/topics/2.4-accouncement.md +++ b/docs/topics/2.4-accouncement.md @@ -2,3 +2,4 @@ * List/detail routes. * 1.3 Support dropped, install six for <=1.4.?. * `allow_none` for char fields +* `trailing_slash = True` --> `[^/]`, `trailing_slash = False` --> `[^/.]`, becomes simply `[^/]` and `lookup_value_regex` is added. diff --git a/rest_framework/routers.py b/rest_framework/routers.py index df1233fd..406ebcf7 100644 --- a/rest_framework/routers.py +++ b/rest_framework/routers.py @@ -220,12 +220,10 @@ class SimpleRouter(BaseRouter): https://github.com/alanjds/drf-nested-routers """ base_regex = '(?P<{lookup_prefix}{lookup_field}>{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') - try: - lookup_value = viewset.lookup_value_regex - except AttributeError: - # Don't consume `.json` style suffixes - lookup_value = '[^/.]+' + lookup_value = getattr(viewset, 'lookup_value_regex', '[^/.]+') return base_regex.format( lookup_prefix=lookup_prefix, lookup_field=lookup_field, |
