class GameInviteViewSet():
queryset = Game.objects.all()
serializer_class = GameSerializer
@action(
methods=['get'],
detail=True,
)
def invite(self, request, **id):
# Invite user here with endpoint /api/games/{id}/invite/{user}
Как бы я сделал вышеупомянутую конечную точку? Я могу сделать /api/games/{id}/invite/
, но как я могу добавить еще один аргумент после этого.
Или, согласно документации, по умолчанию оно идет
{prefix}/{lookup}/{url_path}/
хочу
{prefix}/{lookup}/{url_path}/{prefix2}/{lookup2}/{url_path2}/
или
{prefix}/{lookup}/{url_path}/{lookup2}/{url_path2}/
Чтобы я мог делать такие вещи, как
games/{id}/{invite}/{user}/
games/{id}/{kick}/{user}/
games/{id}/{players}/{user}/gamestats/
Чтобы зарегистрировать мои маршрутизаторы, я делаю следующее:
games/urls.py
:
router = routers.DefaultRouter()
router.register(r'^api/games', GameViewSet, 'games')
api/urls.py
:
из games.urls импортирует роутер как игры
router = routers.SimpleRouter()
urlpatterns += games.urls