views.py
Я работаю над моделью User, поэтому мне нужна срочная помощь в том, как удалить несколько пользователей, получив id пользователей в представлениях. Я пытался сделать это в представлениях, но не работает:
class UserDeleteView(APIView):
permission_classes = (IsAdminUser,)
def get_object(self,id):
try:
return User.objects.get(id=id)
except User.DoesNotExist:
raise Http404
def delete(self,request,id,format=None):
userData=self.get_object(id=id)
if userData:
for usr in userData:
usr.delete()
Попробуйте передать список идентификаторов в представление и отфильтровать объекты, имеющие эти идентификаторы, а затем удалить их.
Допустим, вы хотите удалить 3 пользователей, имеющих ID 1,2,3
Это будет работать так
class UserDeleteView(APIView):
permission_classes = (permissions.IsAdminUser,)
def post(self, request):
user_ids = request.data.get('user_ids') # [1,2,3] List of ID's
users = User.objects.filter(id__in=user_ids)
users.delete()
return Response({'message': 'Users deleted successfully'})