Url показывает ошибку page not found в django?

Я создал конечную точку и зарегистрировал ее в urls.py. Когда я пытаюсь обратиться к конечной точке, я получаю ошибку 404, но на странице 404 url отображается как один из шаблонов, которые django пытался подобрать. Я в тупике.

api.py

class UpdateLast(viewsets.GenericViewSet, UpdateModelMixin):

    def get(self):
        return XYZModel.objects.all()

    def partial_update(self, request, *args, **kwargs):
        if request.user.is_superuser:
            with transaction.atomic():
                for key, value in request.data:
                    if key == 'tic':
                        XYZModel.objects.filter(ticker=request.data['tic']).filter(trail=True).update(
                            last_high=Case(
                                When(
                                    LessThan(F('last_high'),
                                             request.data['high']),
                                    then=Value(request.data['high'])),
                                default=F('last_high')
                            )
                        )

urls.py (он находится внутри приложения)

router = routers.DefaultRouter()
router.register('api/dsetting', DViewSet, 'dsetting')
router.register('api/update-last-high', UpdateLast, 'update-last-high')

urls.py (main)

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('my_app.urls')),

Когда я попадаю в конечную точку api/update-last-high я получаю страницу 404.

На этой странице точная конечная точка показана как шаблон, который django пытался подобрать.

^api/update-last-high/(?P[^/.]+)/$ [name='update-last-high-detail']

^api/update-last-high/(?P[^/.]+).(?P[a-z0-9]+)/?$ [name='update-last-high-detail']

from rest_framework import routers
from . import views
from django.urls import path, include


router = routers.DefaultRouter()
router.register('api/dsetting', DViewSet, 'dsetting')
router.register('api/update-last-high', UpdateLast, 'update-last-high')

# you forgot to include the router.urls

urlpatterns = [
    path('', include(router.urls))
]
Вернуться на верх