apirouter.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. from rest_framework.routers import DefaultRouter, DynamicDetailRoute, DynamicListRoute, Route
  2. class MisagoApiRouter(DefaultRouter):
  3. include_root_view = False
  4. include_format_suffixes = False
  5. routes = [
  6. # List route.
  7. Route(
  8. url=r'^{prefix}{trailing_slash}$',
  9. mapping={'get': 'list',
  10. 'post': 'create'},
  11. name='{basename}-list',
  12. initkwargs={'suffix': 'List'}
  13. ),
  14. # Dynamically generated list routes.
  15. # Generated using @list_route decorator
  16. # on methods of the viewset.
  17. DynamicListRoute(
  18. url=r'^{prefix}/{methodnamehyphen}{trailing_slash}$',
  19. name='{basename}-{methodnamehyphen}',
  20. initkwargs={}
  21. ),
  22. # Detail route.
  23. Route(
  24. url=r'^{prefix}/{lookup}{trailing_slash}$',
  25. mapping={
  26. 'get': 'retrieve',
  27. 'put': 'update',
  28. 'patch': 'partial_update',
  29. 'delete': 'destroy'
  30. },
  31. name='{basename}-detail',
  32. initkwargs={'suffix': 'Instance'}
  33. ),
  34. # Dynamically generated detail routes.
  35. # Generated using @detail_route decorator on methods of the viewset.
  36. DynamicDetailRoute(
  37. url=r'^{prefix}/{lookup}/{methodnamehyphen}{trailing_slash}$',
  38. name='{basename}-{methodnamehyphen}',
  39. initkwargs={}
  40. ),
  41. ]