【发布时间】:2021-06-19 17:16:26
【问题描述】:
我正在编写一个 REST API 来创建组并为该组分配权限。
问题: 如何创建 POST 方法以便我可以创建具有这些权限的组。
这是到目前为止我来的代码片段
组序列化器
class GroupSerializer(serializers.ModelSerializer):
class Meta:
model = Group
fields = ('name','permissions')
观看次数
class UsersGroupCreateView(APIView):
permission_classes = [IsAdminUser]
def post(self , request , *args, **kwargs):
serializer = GroupSerializer(data = request.data)
if serializer.is_valid():
data = serializer.validated_data
group = Group.objects.create(name = data.get('name'), permissions =
data.get('permissions'))
return Response({"status":"Group Created"},status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST
class GetPerm(APIView):
def get(self, request, *args, **kwargs):
permissions = serializers.serialize('json', Permission.objects.all())
return Response(permissions)
GetPerm() 的权限包含以下数据:
"[{"model": "auth.permission", "pk": 1, "fields": {"name": "可以添加日志条目", "content_type": 1, "codename": "add_logentry "}}, {"model": "auth.permission", "pk": 2, "fields": {"name": "可以更改日志条目", "content_type": 1, "codename": "change_logentry" }},{“model”:“auth.permission”,“pk”:3,“fields”:{“name”:“可以删除日志条目”,“content_type”:1,“codename”:“delete_logentry”} }, {"model": "auth.permission", "pk": 4, "fields": {"name": "可以查看日志条目", "content_type": 1, "codename": "view_logentry"}} ]"
对不起,如果我不太清楚 任何帮助将不胜感激!
【问题讨论】:
-
您到底遇到了什么问题?
-
我已经编辑了这个问题,希望你能得到线索。抱歉@JPG,如果我不具体。
标签: python django django-rest-framework django-permissions