• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python compat.get_model_name函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中rest_framework.compat.get_model_name函数的典型用法代码示例。如果您正苦于以下问题:Python get_model_name函数的具体用法?Python get_model_name怎么用?Python get_model_name使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了get_model_name函数的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: setUpClass

    def setUpClass(cls):
        from guardian.shortcuts import assign_perm

        # create users
        create = User.objects.create_user
        users = {
            'fullaccess': create('fullaccess', '[email protected]', 'password'),
            'readonly': create('readonly', '[email protected]', 'password'),
            'writeonly': create('writeonly', '[email protected]', 'password'),
            'deleteonly': create('deleteonly', '[email protected]', 'password'),
        }

        # give everyone model level permissions, as we are not testing those
        everyone = Group.objects.create(name='everyone')
        model_name = get_model_name(BasicPermModel)
        app_label = BasicPermModel._meta.app_label
        f = '{0}_{1}'.format
        perms = {
            'view':   f('view', model_name),
            'change': f('change', model_name),
            'delete': f('delete', model_name)
        }
        for perm in perms.values():
            perm = '{0}.{1}'.format(app_label, perm)
            assign_perm(perm, everyone)
        everyone.user_set.add(*users.values())

        cls.perms = perms
        cls.users = users
开发者ID:etnperlong,项目名称:mese2014,代码行数:29,代码来源:test_permissions.py


示例2: assign_perms_others

def assign_perms_others(sender, instance, created, raw, using, update_fields, **kwargs):
    if created:
        model_name = get_model_name(sender)

        # locate project
        if sender in (Workflow, WorkflowRun, Resource, ResourceList):
            project = instance.project
        elif sender in (WorkflowJob, WorkflowJobGroup):
            project = instance.workflow.project
        elif sender in (InputPort, OutputPort, WorkflowJobCoordinateSet):
            project = instance.workflow_job.workflow.project
        elif sender in (WorkflowJobGroupCoordinateSet, ):
            project = instance.workflow_job_group.workflow.project
        elif sender in (Connection, ):
            project = instance.input_port.workflow_job.workflow.project
        elif sender in (RunJob, ResultsPackage):
            project = instance.workflow_run.project
        elif sender in (Input, Output, ):
            project = instance.run_job.workflow_run.project

        admin_group = project.admin_group
        worker_group = project.worker_group

        # assign permissions
        assign_perm('view_{0}'.format(model_name), admin_group, instance)
        assign_perm('add_{0}'.format(model_name), admin_group, instance)
        assign_perm('change_{0}'.format(model_name), admin_group, instance)
        assign_perm('delete_{0}'.format(model_name), admin_group, instance)
        assign_perm('view_{0}'.format(model_name), worker_group, instance)
        assign_perm('add_{0}'.format(model_name), worker_group, instance)
        assign_perm('change_{0}'.format(model_name), worker_group, instance)
        assign_perm('delete_{0}'.format(model_name), worker_group, instance)
开发者ID:DDMAL,项目名称:Rodan,代码行数:32,代码来源:__init__.py


示例3: filter_queryset

 def filter_queryset(self, request, queryset, view):
     user = request.user
     model_cls = queryset.model
     kwargs = {
         'app_label': model_cls._meta.app_label,
         'model_name': get_model_name(model_cls)
     }
     permission = self.perm_format % kwargs
     return guardian.shortcuts.get_objects_for_user(user, permission, queryset)
开发者ID:AlexanderChou,项目名称:TsinghuaCloudInt,代码行数:9,代码来源:filters.py


示例4: get_required_object_permissions

 def get_required_object_permissions(self, method, model_cls):
     
     parent_model = model_cls._meta.get_field(self.parent_key).rel.to
     kwargs = {
               
         'app_label': parent_model._meta.app_label,
         'model_name': get_model_name(parent_model)
     }
     return [perm % kwargs for perm in self.perms_map[method]] 
开发者ID:soby,项目名称:django-inquiry,代码行数:9,代码来源:permissions.py


示例5: filter_queryset

 def filter_queryset(self, request, queryset, view):
     extra = {}
     user = request.user
     model_cls = queryset.model
     kwargs = {"app_label": model_cls._meta.app_label, "model_name": get_model_name(model_cls)}
     permission = self.perm_format % kwargs
     if guardian.VERSION >= (1, 3):
         # Maintain behavior compatibility with versions prior to 1.3
         extra = {"accept_global_perms": False}
     else:
         extra = {}
     return guardian.shortcuts.get_objects_for_user(user, permission, queryset, **extra)
开发者ID:sehmaschine,项目名称:django-rest-framework,代码行数:12,代码来源:filters.py


示例6: assign_perms_project

def assign_perms_project(sender, instance, created, raw, using, update_fields, **kwargs):
    if created:
        model_name = get_model_name(sender)
        if instance.creator:
            assign_perm('view_{0}'.format(model_name), instance.creator, instance)
            assign_perm('change_{0}'.format(model_name), instance.creator, instance)
            assign_perm('delete_{0}'.format(model_name), instance.creator, instance)
            instance.admin_group.user_set.add(instance.creator)

        assign_perm('view_{0}'.format(model_name), instance.admin_group, instance)
        assign_perm('change_{0}'.format(model_name), instance.admin_group, instance)

        assign_perm('view_{0}'.format(model_name), instance.worker_group, instance)
开发者ID:DDMAL,项目名称:Rodan,代码行数:13,代码来源:__init__.py


示例7: filter_queryset

 def filter_queryset(cls, user, queryset):
     model_cls = queryset.model
     view_all_perm_pattern = cls.VIEW_ALL_PERM_PATTERN
     view_all_perm = view_all_perm_pattern.format(
         app_label=model_cls._meta.app_label,
         model_name=get_model_name(model_cls),
     )
     if user.has_perm(view_all_perm):
         return queryset
     else:
         return queryset.filter(
             owner=user,
         )
开发者ID:pauk-slon,项目名称:vuaro-test,代码行数:13,代码来源:permissions.py


示例8: assign_perms_user_userpreference

def assign_perms_user_userpreference(sender, instance, created, raw, using, update_fields, **kwargs):
    if created:
        model_name = get_model_name(sender)
        if sender == UserPreference:
            assign_perm('view_{0}'.format(model_name), instance.user, instance)
            assign_perm('change_{0}'.format(model_name), instance.user, instance)
            assign_perm('delete_{0}'.format(model_name), instance.user, instance)

        elif not settings.TEST:
            # add permission for viewing/changing/deleting the same user
            assign_perm('view_{0}'.format(model_name), instance, instance)
            assign_perm('change_{0}'.format(model_name), instance, instance)
            assign_perm('delete_{0}'.format(model_name), instance, instance)
            # add permission for viewing other users by adding it to view_user_permission group
            group = Group.objects.get_or_create(name="view_user_permission")[0]
            instance.groups.add(group)
            assign_perm('view_user', group, instance)
开发者ID:DDMAL,项目名称:Rodan,代码行数:17,代码来源:__init__.py


示例9: setUp

    def setUp(self):
        from guardian.shortcuts import assign_perm

        # create users
        create = User.objects.create_user
        users = {
            'fullaccess': create('fullaccess', '[email protected]', 'password'),
            'readonly': create('readonly', '[email protected]', 'password'),
            'writeonly': create('writeonly', '[email protected]', 'password'),
            'deleteonly': create('deleteonly', '[email protected]', 'password'),
        }

        # give everyone model level permissions, as we are not testing those
        everyone = Group.objects.create(name='everyone')
        model_name = get_model_name(BasicPermModel)
        app_label = BasicPermModel._meta.app_label
        f = '{0}_{1}'.format
        perms = {
            'view': f('view', model_name),
            'change': f('change', model_name),
            'delete': f('delete', model_name)
        }
        for perm in perms.values():
            perm = '{0}.{1}'.format(app_label, perm)
            assign_perm(perm, everyone)
        everyone.user_set.add(*users.values())

        # appropriate object level permissions
        readers = Group.objects.create(name='readers')
        writers = Group.objects.create(name='writers')
        deleters = Group.objects.create(name='deleters')

        model = BasicPermModel.objects.create(text='foo')

        assign_perm(perms['view'], readers, model)
        assign_perm(perms['change'], writers, model)
        assign_perm(perms['delete'], deleters, model)

        readers.user_set.add(users['fullaccess'], users['readonly'])
        writers.user_set.add(users['fullaccess'], users['writeonly'])
        deleters.user_set.add(users['fullaccess'], users['deleteonly'])

        self.credentials = {}
        for user in users.values():
            self.credentials[user.username] = basic_auth_header(user.username, 'password')
开发者ID:grapemix,项目名称:django-rest-framework,代码行数:45,代码来源:test_permissions.py


示例10: setUp

    def setUp(self):
        from guardian.shortcuts import assign_perm

        # create users
        create = User.objects.create_user
        users = {
            "fullaccess": create("fullaccess", "[email protected]", "password"),
            "readonly": create("readonly", "[email protected]", "password"),
            "writeonly": create("writeonly", "[email protected]", "password"),
            "deleteonly": create("deleteonly", "[email protected]", "password"),
        }

        # give everyone model level permissions, as we are not testing those
        everyone = Group.objects.create(name="everyone")
        model_name = get_model_name(BasicPermModel)
        app_label = BasicPermModel._meta.app_label
        f = "{0}_{1}".format
        perms = {"view": f("view", model_name), "change": f("change", model_name), "delete": f("delete", model_name)}
        for perm in perms.values():
            perm = "{0}.{1}".format(app_label, perm)
            assign_perm(perm, everyone)
        everyone.user_set.add(*users.values())

        # appropriate object level permissions
        readers = Group.objects.create(name="readers")
        writers = Group.objects.create(name="writers")
        deleters = Group.objects.create(name="deleters")

        model = BasicPermModel.objects.create(text="foo")

        assign_perm(perms["view"], readers, model)
        assign_perm(perms["change"], writers, model)
        assign_perm(perms["delete"], deleters, model)

        readers.user_set.add(users["fullaccess"], users["readonly"])
        writers.user_set.add(users["fullaccess"], users["writeonly"])
        deleters.user_set.add(users["fullaccess"], users["deleteonly"])

        self.credentials = {}
        for user in users.values():
            self.credentials[user.username] = basic_auth_header(user.username, "password")
开发者ID:mverteuil,项目名称:django-rest-framework,代码行数:41,代码来源:test_permissions.py


示例11: get_required_object_permissions

 def get_required_object_permissions(self, method, model_cls):
     kwargs = {
         'app_label': model_cls._meta.app_label,
         'model_name': get_model_name(model_cls)
     }
     return [perm % kwargs for perm in self.perms_map[method]]
开发者ID:9gix,项目名称:django-rest-framework,代码行数:6,代码来源:permissions.py



注:本文中的rest_framework.compat.get_model_name函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python compat.parse_datetime函数代码示例发布时间:2022-05-26
下一篇:
Python compat.get_concrete_model函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap