Зарегистрируйте свой роутер Django
Когда я использую 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="")
ошибки нет, могу я спросить почему?
2 ответа
Я проверял свои конечные точки, и у меня нет ни одного базового имени.
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
Мы должны предоставить базовое имя для маршрута, когда мы добавим его, как показано ниже
router.register(
r'codes',
SmsCodeViewset,
base_name='sms-code',
)