def list(self, request, *args, **kwargs): data = { "username": self.request.user.username, "name": self.request.user.name, "menus": get_menu_tree(self.request.user.get_view_permissions()) } return Response(data)
def list(self, request, *args, **kwargs): # 获取登陆用户的用户组信息 user = self.request.user user_groups_obj = user.groups.values() user_groups_info = {} user_groups_infos = [] from copy import deepcopy for group_obj in user_groups_obj: user_groups_info["gid"] = group_obj["id"] user_groups_info["gname"] = group_obj["name"] user_groups_infos.append(user_groups_info) # 需要深度复制 否则下次更改时会连之前的列表中的值一起更改 user_groups_info = deepcopy(user_groups_info) # 如果登录用户是超级用户则返回所有的组ID if self.request.user.is_superuser: user_groups_infos = Group.objects.values() # print(user_groups_infos) data = { "username": self.request.user.username, "name": self.request.user.name, "is_superuser": self.request.user.is_superuser, "groupsinfo": user_groups_infos, "menus": get_menu_tree(self.request.user.get_view_permissions()) } else: data = { "username": self.request.user.username, "name": self.request.user.name, "is_superuser": self.request.user.is_superuser, "groupsinfo": user_groups_infos, "menus": get_menu_tree(self.request.user.get_view_permissions()) } return Response(data)