0

route.register没有base_name喜欢的情况下使用的时候;

route.register(r'codes', SmsCodeViewset)

发生错误;

AssertionError: basename argument not specified, and could not automatically determine the name from the viewset, as it does not have a .queryset attribute.

我用route.register(r'codes', SmsCodeViewset, bose_name="")的时候没有报错,请问为什么?

4

2 回答 2

0

当我们像下面添加它时,我们应该为路由提供基本名称

router.register(
    r'codes',
    SmsCodeViewset,
    base_name='sms-code',
)
于 2018-12-12T09:31:57.913 回答
0

我正在检查我的端点,但其中任何一个都没有基本名称。

from app import views
from rest_framework.routers import DefaultRouter

router = DefaultRouter()
router.register(r'states', views.StateSet)

urlpatterns = [
    url(r'^', include(router.urls)),
]


class StateSet(viewsets.ModelViewSet):
    queryset = State.objects.all()
    serializer_class = StateSerializer
于 2018-12-12T10:46:17.620 回答