diff --git a/rest_framework/routers.py b/rest_framework/routers.py index fce968aa0..58eb62a1e 100644 --- a/rest_framework/routers.py +++ b/rest_framework/routers.py @@ -134,12 +134,14 @@ class SimpleRouter(BaseRouter): If `base_name` is not specified, attempt to automatically determine it from the viewset. """ - queryset = getattr(viewset, 'queryset', None) + if hasattr(viewset, 'get_queryset'): + queryset = viewset().get_queryset() + else: + queryset = getattr(viewset, 'queryset', None) assert queryset is not None, '`base_name` argument not specified, and could ' \ 'not automatically determine the name from the viewset, as ' \ 'it does not have a `.queryset` attribute.' - return queryset.model._meta.object_name.lower() def get_routes(self, viewset):