Зарегистрируйте свой роутер Django - PullRequest
0 голосов
/ 12 декабря 2018

Когда я использую 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 ]

0 голосов
/ 12 декабря 2018

Я проверял свои конечные точки, и у меня нет ни одного базового имени.

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
0 голосов
/ 12 декабря 2018

мы должны предоставить базовое имя для маршрута, когда добавим его, как показано ниже

router.register(
    r'codes',
    SmsCodeViewset,
    base_name='sms-code',
)
...