Почему ПК=нет в ФПИ документация `подробно маршрут? Есть ли у нее по умолчанию нет?


Сюда: http://www.django-rest-framework.org/api-guide/routers/#extra-link-and-actions приведен пример detail_route:

@detail_route(methods=['post'], permission_classes=[IsAdminOrIsSelf])
    def set_password(self, request, pk=None):

pk=None это третий параметр. Этот маршрут может быть доступен при переходе по URL users/{pk}/change-password/$. Мой вопрос в том, не всегда ли pk предоставляется? Почему значение по умолчанию None? Разве это не должно быть просто:

@detail_route(methods=['post'], permission_classes=[IsAdminOrIsSelf])
    def set_password(self, request, pk):

? Насколько я понимаю, единственный способ, которым пользователь может получить доступ к этому маршруту, - это ввести значение pk в url users/{pk}/change-password/$ (не должно быть по умолчанию значения будут использоваться, когда значение может не быть задано - и если это не так, по умолчанию None)?

1 2

1 ответ:

Это в основном вопрос стиля. Поскольку метод разрешения url-адресов Django заключается в передаче аргументов ключевых слов в представления всякий раз, когда именованные группы используются в регулярном выражении, и учитывая, что DRF использует именованные группы, мы склонны использовать ключевое слово "стиль" нотации.