apirouter.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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={
  10. 'get': 'list',
  11. 'post': 'create'
  12. },
  13. name='{basename}-list',
  14. initkwargs={'suffix': 'List'}
  15. ),
  16. # Dynamically generated list routes.
  17. # Generated using @list_route decorator
  18. # on methods of the viewset.
  19. DynamicListRoute(
  20. url=r'^{prefix}/{methodnamehyphen}{trailing_slash}$',
  21. name='{basename}-{methodnamehyphen}',
  22. initkwargs={}
  23. ),
  24. # Detail route.
  25. Route(
  26. url=r'^{prefix}/{lookup}{trailing_slash}$',
  27. mapping={
  28. 'get': 'retrieve',
  29. 'put': 'update',
  30. 'patch': 'partial_update',
  31. 'delete': 'destroy'
  32. },
  33. name='{basename}-detail',
  34. initkwargs={'suffix': 'Instance'}
  35. ),
  36. # Dynamically generated detail routes.
  37. # Generated using @detail_route decorator on methods of the viewset.
  38. DynamicDetailRoute(
  39. url=r'^{prefix}/{lookup}/{methodnamehyphen}{trailing_slash}$',
  40. name='{basename}-{methodnamehyphen}',
  41. initkwargs={}
  42. ),
  43. ]