Django Rest - 405 Метод DELETE не разрешен

Я использую Postman для тестирования конечных точек и у меня возникает ошибка DELETE method not allowed. Однако создание и редактирование тех же самых данных работает.

Вот модель, о которой идет речь :

class Contributor(models.Model):
    """Model defining a contributor"""
    user = models.ForeignKey(to=User, on_delete=models.CASCADE, blank=True, null=True)
    project = models.ForeignKey(to=Project, related_name="project_contributor", on_delete=models.CASCADE, blank=True, null=True)
    permission = models.CharField(max_length=16, choices=[(permission.name, permission.value) for permission in enums.ProjectPermission], default="ALL")
    role = models.CharField(max_length=16, choices=[(role.name, role.value) for role in enums.ProjectRole], default="AUTHOR")
    def __str__(self) -> str:
        return f"Contributor: {str(self.user)}"

views.py :

class ContributorViewSet(viewsets.ModelViewSet):
    serializer_class = ContributorSerializer
    permission_classes = [IsAuthenticated]

    def get_queryset(self):
        """return the contributors list of the project"""
        return Contributor.objects.filter(project=self.kwargs.get('project_pk'))

    def create(self, request, *args, **kwargs) -> Response:
        """
        Add contributor to a project
        If user added already in this project return 400
        """
        project = Project.objects.get(pk=self.kwargs.get('project_pk'))
        serializer = ContributorSerializer(data=request.data)
        user = request.data['user']

        if Contributor.objects.filter(user=user).filter(project=project).exists():
            return Response('This user is already a contributor of this project', status=status.HTTP_400_BAD_REQUEST)
        else:
            if serializer.is_valid():
                serializer.save(project=project)
                return Response(serializer.data, status=status.HTTP_201_CREATED)
            else:
                return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

и urls.py :

router = DefaultRouter()
router.register(r"projects", views.ProjectViewSet)

project_router = routers.NestedSimpleRouter(router, r"projects", lookup="project")
project_router.register(r"issues", views.IssueViewSet, basename="issues")
project_router.register(r'users', views.ContributorViewSet, basename='users')

issue_router = routers.NestedSimpleRouter(project_router, r"issues", lookup="issue")
issue_router.register(r"comments", views.CommentViewSet, basename="comments")


urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include(router.urls)),
    path('', include(project_router.urls)),
    path('', include(issue_router.urls)),
    path('signup/', RegisterView.as_view(), name='signup'),
    path('login/', TokenObtainPairView.as_view(), name='obtain_tokens'),
    path('login/refresh/', TokenRefreshView.as_view(), name='refresh_token'),
]

Я думал, что это из-за разрешений, которые я сделал, но я удалил их, и у меня все еще та же проблема.

Вернуться на верх