我正在尝试获取“Manager”组中所有用户的列表,发布请求有效
@api_view(['GET','POST'])
def managers(request):
username = request.data['username']
if username:
user = get_object_or_404(User, username=username)
managers = Group.objects.get(name="Manager")
if request.method == 'POST':
managers.user_set.add(user)
elif request.method == 'DELETE':
managers.user_set.remove(user)
return Response({"message": "ok"})
return Response({"message": "error"}, status.HTTP_400_BAD_REQUEST)
我在下面遇到了这个错误。
KeyError at /api/groups/manager/users 'username'
请问可以给我指导吗?
最佳答案
如果是 GET 请求,您可以使用:
@api_view(['GET', 'POST', 'DELETE'])
def managers(request):
if request.method == 'GET':
users = User.objects.filter(groups__name='Manager')
serializer = <b>UserSerializer(users, many=True)</b>
return Response({'data': <b>serializer.data</b>})
username = request.data['username']
if username:
user = get_object_or_404(User, username=username)
managers = Group.objects.get(name='Manager')
if request.method == 'POST':
managers.user_set.add(user)
elif request.method == 'DELETE':
managers.user_set.remove(user)
return Response({"message": 'ok'})
return Response({'message': 'error'}, status.HTTP_400_BAD_REQUEST)
使用UserSerializer
为User
模型提供一个ModelSerializer
。
关于django - 获取组中的所有用户 - Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74945374/