Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django rest framework 两个查找字段django rest_Django Rest Framework - Fatal编程技术网

Django rest framework 两个查找字段django rest

Django rest framework 两个查找字段django rest,django-rest-framework,Django Rest Framework,我必须创建一个API来检索租户内的超级管理员: 我的url类似于: path('tenant/<slug:pk>/superadmin/<slug:superadmin>/', SuperAdminRUDView.as_view(), name='tenant-superadmin'), GetSuperAdminsMixin只是一个用于返回查询集的mixin。如何管理此多重查找字段。superadmin的检索应基于slug:superadmin提供的id class

我必须创建一个API来检索租户内的超级管理员:

我的url类似于:

 path('tenant/<slug:pk>/superadmin/<slug:superadmin>/', SuperAdminRUDView.as_view(), name='tenant-superadmin'),
GetSuperAdminsMixin只是一个用于返回查询集的mixin。如何管理此多重查找字段。superadmin的检索应基于slug:superadmin提供的id

class GetSuperAdmins(object):
    def get_queryset(self):
        users = ElsUser.objects.filter(tenant=self.kwargs['pk'])
        super_admin_users = []
        user_roles = []
        role_names = []
        for user in users:
            role_names = []
            user_roles = RoleHelper(user.id).get_user_default_roles()
            roles = PMRole.objects.filter(id__in=user_roles)
            for role in roles:
                role_names.append(role.short_name)
            if "tenant_system_admin" in role_names:
                super_admin_users.append(user)
        return super_admin_users

pk
superadmin
与查询集的关系如何?pk是要知道哪个租户,superadmin是要获取的superadmin的id。我正在尝试获取id为superadmin的superadmin,它位于id为pki的租户内,并使用查询集更新了问题@JPGok我解决了问题,谢谢@JPG问题是与返回的用户有关。我返回的是列表,而不是查询如何
pk
superadmin
与查询集相关?pk是要知道哪个租户,superadmin是要获取的superadmin的id。我正在尝试获取id为superadmin的superadmin,该superadmin位于id为pki的租户内,并使用查询集更新了问题@JPGok我解决了这个问题,谢谢@jpg这个问题与返回的用户有关。我返回的是列表而不是查询集
class GetSuperAdmins(object):
    def get_queryset(self):
        users = ElsUser.objects.filter(tenant=self.kwargs['pk'])
        super_admin_users = []
        user_roles = []
        role_names = []
        for user in users:
            role_names = []
            user_roles = RoleHelper(user.id).get_user_default_roles()
            roles = PMRole.objects.filter(id__in=user_roles)
            for role in roles:
                role_names.append(role.short_name)
            if "tenant_system_admin" in role_names:
                super_admin_users.append(user)
        return super_admin_users