拥有动态rest视图会复制userlist u

2024-10-02 04:35:26 发布

您现在位置:Python中文网/ 问答频道 /正文

(我有一个自定义用户模型)

我不明白为什么会这样。以下是我预期的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

Myuser-listURL重复:

» 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


Tags: frompyrestapiformatframeworkurlsusers

热门问题