Наличие динамического представления покоя дублирует URL-адрес списка пользователей - PullRequest
0 голосов
/ 21 ноября 2018

(у меня пользовательская модель пользователя)

Я не понимаю, почему это происходит.Вот мои ожидаемые URL:

python manage.py show_urls
/api/v1/        rest_framework.routers.APIRootView      api-root
/api/v1/\.<format>/     rest_framework.routers.APIRootView      api-root
/api/v1/users/  users.views.UserCreateViewSet   user-list
/api/v1/users/<pk>/     users.views.UserViewSet user-detail
/api/v1/users/<pk>\.<format>/   users.views.UserViewSet user-detail
/api/v1/users\.<format>/        users.views.UserCreateViewSet   user-list

Как только я включу в свой urls.py представление, основанное на DynamicModelViewSet:

from dynamic_rest.viewsets import DynamicModelViewSet


class AggregateViewSet(DynamicModelViewSet):
    pass

Мои user-list URL будут дублированы:

» python manage.py show_urls
/api/v1/        rest_framework.routers.APIRootView      api-root
/api/v1/\.<format>/     rest_framework.routers.APIRootView      api-root
/api/v1/users/  users.views.UserCreateViewSet   user-list
/api/v1/users/  users.views.UserViewSet user-list
/api/v1/users/<pk>/     users.views.UserViewSet user-detail
/api/v1/users/<pk>\.<format>/   users.views.UserViewSet user-detail
/api/v1/users\.<format>/        users.views.UserCreateViewSet   user-list
/api/v1/users\.<format>/        users.views.UserViewSet user-list

Это мое (упрощенное) urls.py:

from django.urls include
from rest_framework.routers import DefaultRouter

# from consumption.views import AggregateViewSet

router = DefaultRouter()
router.register(r'users', UserViewSet)
router.register(r'users', UserCreateViewSet)

urlpatterns = [
    path('api/v1/', include(router.urls)),
]

Активация этого оператора from consumption.views import AggregateViewSet приводит к появлению проблемы.Его даже не нужно регистрировать на маршрутизаторе: простой импорт представления нарушает URL-адреса.

Почему dynamic-rest искажает URL-адреса , просто импортировав ?

...