DJANGO как удалить несколько записей на основе поля, отличного от идентификатора

#django #django-rest-framework

Вопрос:

Я использую платформу Django Rest, и мне нужно удалить несколько записей на основе поля «контрато».

View.py

 class AlugueisViewSet(viewsets.ModelViewSet):

   filter_backends = (filters.SearchFilter,DjangoFilterBackend)
   queryset = Alugueis.objects.all()
   serializer_class = AlugueisSerializer    
   filterset_fields = {           
        'contrato':['exact']            
   }
 

Отправить

URL-адрес запроса: http://127.0.0.1:8000/alugueis/?id=amp;contrato=174

Способ запроса: УДАЛИТЬ

Код статуса: 405 Метод Не Разрешен

Удаленный адрес: 127.0.0.1:8000

Политика реферера: строгое-происхождение-когда-перекрестное происхождение

Ответ №1:

вы можете установить lookup_field , как показано ниже:

 class AlugueisViewSet(viewsets.ModelViewSet):

   filter_backends = (filters.SearchFilter,DjangoFilterBackend)
   queryset = Alugueis.objects.all()
   serializer_class = AlugueisSerializer   
   filterset_fields = {           
        'contrato':['exact']            
   }
   lookup_field = 'contrato'
 

Комментарии:

1. ошибка УДАЛЕНИЯ: get() вернул более одного Alugueis-он вернул 6!