(у меня пользовательская модель пользователя)
Я не понимаю, почему это происходит.Вот мои ожидаемые 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-адреса , просто импортировав ?