Как использовать два параметра в методе delete класса GenericViewSet в Django
Я новичок в Django
Как использовать 2 параметра в моем url с методом delete на django 3
Моя конфигурация url:
API_VERSION = os.getenv('API_VERSION')
API_ROOT = "grpz/"
router = routers.DefaultRouter(trailing_slash=False)
router.register(r'^groups/(?P<group_id>.)/users/(?P<user_id>.)', group_views.DeleteGroupViewSet)
schema_view = get_schema_view(
title='next_blog',
renderer_classes=[OpenAPIRenderer, SwaggerUIRenderer])
urlpatterns = [
path('admin', admin.site.urls),
path('api_auth', include(
'rest_framework.urls', namespace='rest_framework')),
path('docs', schema_view, name='docs'),
path(API_ROOT, include(router.urls)),
]
Мой набор представлений класса:
class DeleteGroupViewSet(viewsets.GenericViewSet):
queryset = Groups.objects.all()
serializer_class = GroupSerializer
permission_classes = (AllowAny,)
def destroy(self, request, group_id, user_id):
try:
# user_id = self.kwargs['user_id']
# group_id = self.kwargs['group_id']
user = Users.objects.filter(user_id=user_id).first()
if user is None:
return Response({
'msg': 'User is not exist',
}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
else:
user_owner_role_in_group = GroupHasUsers.objects.filter(
group_id=group_id,
user_id=user_id,
role__name='owner'
)
if user_owner_role_in_group.count() == 0:
return Response({
'msg': 'User is not a owner role'
}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
else:
Groups.objects.filter(id=group_id).delete()
return Response({'msg': 'success'}, status=status.HTTP_200_OK)
except Exception as e:
return Response({
'msg': str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
Однако результатом всегда является 404 not found
Спасибо всем!