Удаление документа MongoDB по id в приложении Angular-Django
Я написал следующий код для удаления определенных документов клиентов по их id из коллекции MongoDB:
Ангулярная служба:
deletepost(id: number): Observable<Post> {
const url = `${this.baseApiUrl}` + `/handle_post/` + id;
return this.httpClient.delete<Post>(url)
.pipe(
retry(3),
catchError(this.handleError)
);
}
Django view:
@csrf_exempt
@api_view(['GET', 'DELETE', 'PUT'])
def handle_post_by_id(request, id):
try:
post = PostModel.objects.get(pk=id)
except PostModel.DoesNotExist:
exceptionError = {
'message': "Post with id = %s" %id,
'posts': "[]",
'error': ""
}
return JsonResponse(exceptionError, status=status.HTTP_404_NOT_FOUND)
if request.method == 'DELETE':
post.delete()
posts_serializer = PostModelSerializer(post)
response = {
'message': "Successfully deleted a post with id = %s" %id,
'posts': [posts_serializer.data],
'error': ""
}
return JsonResponse(response)
Мои URL следующие:
urlpatterns = [
path('handle_post/<int:id>', handle_post_by_id)
]
Что я делаю не так, что клиент с id не удаляется из базы данных?