#django #django-rest-framework #django-urls #django-rest-viewsets #django-viewsets
Вопрос:
Хотите получить доступ к другому запросу, используя разные поля поиска. Я использовал simplerouter в маршрутизаторе и ModelViewSet в представлениях платформы django rest.
Пример ожидаемого варианта использования:
url для выполнения обновления — /пользователь/{идентификатор}/
url для выполнения удаления- /пользователь/{creation_date}/
Пожалуйста, помогите решить эту проблему.
Спасибо.
Комментарии:
1. Это не так, как работает простой маршрутизатор, вам нужно будет настроить URL-адреса вручную. Кроме того, почему вы хотите использовать
creation_date
это действительно плохо — потому что это не уникально. Используйте идентификатор для удаления пользователя.2. Спасибо за ваш комментарий. приведенный выше пример использования является лишь примером проблемы.
3. Я решил проблему, настроив simplerouter.
Ответ №1:
Вы можете создать свой собственный api-интерфейс и собирать поля, которые вы хотите использовать, чтобы делать все, что вы хотите. В этом случае не передавайте никаких ключей с URL-адресом. Передайте ключи с запрошенными данными.
Пример :
class UserAPIView(APIView): def post(self, request, *args, **kwargs): email = request.data.get('email', None) pk = request.data.get('pk', None) # you can use the email or id or any field that you posted to do your work below like update delete etc. # Return your response return Response({'details': 'email and password is required'}, status=status.HTTP_204_NO_CONTENT)