NestedSimpleRouter accepts 'lookup' parameter

This commit is contained in:
Alan Justino 2013-08-26 19:00:18 -03:00
parent 2bec7e6d8c
commit a7381d769a

View File

@ -280,6 +280,7 @@ class NestedSimpleRouter(SimpleRouter):
self.parent_router = parent_router self.parent_router = parent_router
self.parent_prefix = parent_prefix self.parent_prefix = parent_prefix
self.nest_count = getattr(parent_router, 'nest_count', 0) +1 self.nest_count = getattr(parent_router, 'nest_count', 0) +1
self.nest_prefix = kwargs.pop('lookup', 'nested_%i' % self.nest_count) + '_'
super(NestedSimpleRouter, self).__init__(*args, **kwargs) super(NestedSimpleRouter, self).__init__(*args, **kwargs)
parent_registry = filter(lambda registered: registered[0] == self.parent_prefix, self.parent_router.registry) parent_registry = filter(lambda registered: registered[0] == self.parent_prefix, self.parent_router.registry)
@ -290,8 +291,7 @@ class NestedSimpleRouter(SimpleRouter):
raise RuntimeError('parent registered resource not found') raise RuntimeError('parent registered resource not found')
nested_routes = [] nested_routes = []
nest_prefix = 'nested_%i' % self.nest_count parent_lookup_regex = parent_router.get_lookup_regex(parent_viewset, self.nest_prefix)
parent_lookup_regex = parent_router.get_lookup_regex(parent_viewset, nest_prefix)
for route in self.routes: for route in self.routes:
route_contents = route.__dict__ route_contents = route.__dict__
parent_regex = '{parent_prefix}/{parent_lookup_regex}/'.format(parent_prefix=parent_prefix, parent_lookup_regex=parent_lookup_regex) parent_regex = '{parent_prefix}/{parent_lookup_regex}/'.format(parent_prefix=parent_prefix, parent_lookup_regex=parent_lookup_regex)