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

Хочу получить доступ к разным запросам, используя разные поля поиска. Я использовал simplerouter в router и ModelViewSet в views из django rest framework.

Пример ожидаемого варианта использования:

url для выполнения обновления - /user/{id}/

url для выполнения удаления - /user/{creation_date}/

Пожалуйста, помогите решить проблему.

Спасибо.

Вы можете сделать свое пользовательское представление 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)

Вернуться на верх