From 3d85c9bf3f11ade3bac11caa69dfc8055a11ee85 Mon Sep 17 00:00:00 2001 From: Jamie Cockburn Date: Mon, 27 Mar 2023 15:36:40 +0100 Subject: [PATCH] Router viewset registration via decorator (#8917) --- rest_framework/routers.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/rest_framework/routers.py b/rest_framework/routers.py index 722fc50a6..f76362c79 100644 --- a/rest_framework/routers.py +++ b/rest_framework/routers.py @@ -49,7 +49,12 @@ class BaseRouter: def __init__(self): self.registry = [] - def register(self, prefix, viewset, basename=None): + def register(self, prefix, viewset=None, basename=None): + if viewset is None: + def decorator(viewset): + self.register(prefix, viewset, basename=basename) + return viewset + return decorator if basename is None: basename = self.get_default_basename(viewset)