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

Python generics.get_object_or_404函数代码示例

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

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



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

示例1: update

    def update(self, request, pantry_id, food_id):
        # Retrieve data parameters...
        amount = float(request.data.get('amount'))
        unit_of_measure_id = int(request.data.get('unit_of_measure'))
        unit_of_measure = get_object_or_404(UnitOfMeasure, pk=unit_of_measure_id)

        # Retrieve pantry...
        get_user_pantry_or_404(request.user, pantry_id=pantry_id)

        # Retrieve food...
        get_object_or_404(Food, pk=food_id)

        # Find pantry food...
        try:
            pantry_food = PantryFood.objects.select_related('pantry', 'food').get(
                pantry__pk=pantry_id, food__pk=food_id
            )

        except PantryFood.DoesNotExist:
            return Response(status=status.HTTP_400_BAD_REQUEST, data={
                'message': 'The specified food is not in your pantry.'
            })

        else:
            pantry_food.amount = amount
            pantry_food.unit_of_measure = unit_of_measure
            pantry_food.save()

        return Response(status=status.HTTP_200_OK)
开发者ID:ParentJA,项目名称:dinner,代码行数:29,代码来源:views.py


示例2: post

    def post(self, request, provider_id):
        """ POST handler. """
        provider = generics.get_object_or_404(CreditProvider, provider_id=provider_id)
        data = request.data

        # Ensure the input data is valid
        serializer = CreditProviderCallbackSerializer(data=data, provider=provider)
        serializer.is_valid(raise_exception=True)

        # Update the credit request status
        request_uuid = data["request_uuid"]
        new_status = data["status"]
        credit_request = generics.get_object_or_404(CreditRequest, uuid=request_uuid, provider=provider)
        old_status = credit_request.status
        credit_request.status = new_status
        credit_request.save()

        log.info(
            "Updated [%s] CreditRequest [%s] from status [%s] to [%s].",
            provider_id,
            request_uuid,
            old_status,
            new_status,
        )

        return Response()
开发者ID:johnny-nan,项目名称:edx-platform,代码行数:26,代码来源:views.py


示例3: post

 def post(self, request, *args, **kwargs):
     print "Updating"
     self.folder = get_object_or_404(self.get_queryset(), pk=self.kwargs["pk"])
     self.ctype = get_object_or_404(ContentType, model=self.kwargs["model"], app_label=self.kwargs["app"])
     self.object = get_object_or_404(self.ctype.model_class(), pk=self.kwargs["pki"])
     FolderContent.objects.create(folder=self.folder, content_object=self.object)
     return Response({"ok": 1}, status=status.HTTP_201_CREATED)
开发者ID:jmbarbier,项目名称:eskollz-python,代码行数:7,代码来源:views.py


示例4: social_routes

    def social_routes(self, request, *args, **kwargs):
        '''
            return a list of [
                {profile_id: ''}
            ]
        '''
        target_user_id = request.query_params.get('target_user')
        
        dest_profile = get_object_or_404(Profile, user_id=target_user_id)
        src_profile = get_object_or_404(Profile, user=request.user)
        routes = calculate_topN_social_routes(src_profile, dest_profile, 10)
        profile_id_set = set()
    
        for route in routes:
            profile_id_set.update(route['profile_ids'])

        p_qs = Profile.objects.filter(id__in=profile_id_set).values('id', 
                                        'user__nickname', 'user__username', 'phone_num')
        id_profile_dict = {}
        for p in p_qs:
            nickname = p.pop('user__nickname')
            username = p.pop('user__username')
            p.update({
                'display_name': nickname or username, 
            })
            # if display_name is '' then from user's own mobile
            if p['display_name']:
                p.pop('phone_num')
            id_profile_dict[ p['id'] ] = p
        result = []
        for route in routes:
            result.append( self._prepare_route_result(route, id_profile_dict) )

        return Response(result)
开发者ID:ace-han,项目名称:django-template-seed,代码行数:34,代码来源:views.py


示例5: reduce_score

    def reduce_score(self, request, *args, **kwargs):

        student_id = kwargs.get('student_id')
        problem_id = kwargs.get('problem_id')

        student = get_object_or_404(User.objects.all(), member_id=student_id)
        problem = get_object_or_404(Problem.objects.all(), id=problem_id)
        assignment = problem.assignment_id
        try:
            instance = PlagiarismRequest.objects.get(assignment=assignment)
            if not instance.status:
                return Response({'status': 'failure', 'message': 'Plagiarism Check not done'},
                                status=status.HTTP_400_BAD_REQUEST)
            points = self.request.data.get('points', None)
            print "points", points
            if points is None or not (0 <= points <= problem.points):
                return Response({'status': 'failure', 'message': 'Invalid point allocation'},
                                status=status.HTTP_400_BAD_REQUEST)
            problem_score = get_object_or_404(ProblemScore, student=student, problem=problem)
            problem_score.score = points
            problem_score.save()
            return Response({'status': 'success', 'message': 'Points Updated'},
                            status=status.HTTP_200_OK)
        except PlagiarismRequest.DoesNotExist:
            return Response({'status': 'failure', 'message': 'Plagiarism Check not done'},
                            status=status.HTTP_400_BAD_REQUEST)
开发者ID:Botfather,项目名称:Capsule,代码行数:26,代码来源:views.py


示例6: create

    def create(self, request, pantry_id, food_id):
        # Retrieve data parameters...
        amount = float(request.data.get('amount'))
        unit_of_measure_id = int(request.data.get('unit_of_measure'))
        unit_of_measure = get_object_or_404(UnitOfMeasure, pk=unit_of_measure_id)

        # Retrieve pantry...
        user_pantry = get_user_pantry_or_404(request.user, pantry_id=pantry_id)

        # Retrieve food...
        food = get_object_or_404(Food, pk=food_id)

        # Find pantry food...
        try:
            PantryFood.objects.select_related('pantry', 'food').get(pantry__pk=pantry_id, food__pk=food_id)

            return Response(status=status.HTTP_400_BAD_REQUEST, data={
                'message': 'The specified food is already in your pantry.'
            })

        except PantryFood.DoesNotExist:
            PantryFood.objects.create(
                pantry=user_pantry.pantry,
                food=food,
                amount=amount,
                unit_of_measure=unit_of_measure
            )

        return Response(status=status.HTTP_201_CREATED)
开发者ID:ParentJA,项目名称:dinner,代码行数:29,代码来源:views.py


示例7: retrieve

 def retrieve(self, request, pk=None):
     if is_integer(pk):
         queryset = get_object_or_404(Project, pk=pk)
     else:
         queryset = get_object_or_404(Project, linkname=pk)
     serializer = ProjectSerializer(queryset)
     return Response(serializer.data)
开发者ID:joselamego,项目名称:patchwork,代码行数:7,代码来源:api.py


示例8: get

    def get(self, request, *args, **kwargs):
        account_slug = kwargs['account_slug']
        board_slug = kwargs['board_slug']

        account_collaborator = get_object_or_404(
            AccountCollaborator.objects.select_related('account', 'user'),
            account__slug=account_slug,
            is_owner=True)

        if account_collaborator.account.type == Account.PERSONAL_ACCOUNT:
            boards = account_collaborator.user.boards

        board = get_object_or_404(boards, slug=board_slug)

        collaborator_users = []

        if board.is_shared:
            collaborator_users = BoardCollaborator.objects.filter(
                board_id=board.id, user__isnull=False
            ).values_list('user', flat=True)

        data = {
            'board': board,
            'collaborator_users': collaborator_users
        }

        return Response(data, template_name='index.html')
开发者ID:GetBlimp,项目名称:boards-backend,代码行数:27,代码来源:views.py


示例9: get_object

    def get_object(self, queryset=None):
        obj = super(DataViewSet, self).get_object()
        pk_lookup, dataid_lookup = self.lookup_fields
        pk = self.kwargs.get(pk_lookup)
        dataid = self.kwargs.get(dataid_lookup)

        if pk is not None and dataid is not None:
            try:
                int(dataid)
            except ValueError:
                raise ParseError(_(u"Invalid dataid %(dataid)s"
                                   % {'dataid': dataid}))

            if not obj.is_merged_dataset:
                obj = get_object_or_404(Instance, pk=dataid, xform__pk=pk,
                                        deleted_at__isnull=True)
            else:
                xforms = obj.mergedxform.xforms.filter(deleted_at__isnull=True)
                pks = [xform_id
                       for xform_id in xforms.values_list('pk', flat=True)]

                obj = get_object_or_404(Instance, pk=dataid, xform_id__in=pks,
                                        deleted_at__isnull=True)

        return obj
开发者ID:onaio,项目名称:onadata,代码行数:25,代码来源:data_viewset.py


示例10: create

 def create(self, request, **kwargs):
     app = get_object_or_404(self.model, id=kwargs['id'])
     if request.user != app.owner and not request.user.is_superuser:
         return Response(status=status.HTTP_403_FORBIDDEN)
     user = get_object_or_404(User, username=request.DATA['username'])
     assign_perm(self.perm, user, app)
     models.log_event(app, "User {} was granted access to {}".format(user, app))
     return Response(status=status.HTTP_201_CREATED)
开发者ID:Mistobaan,项目名称:deis,代码行数:8,代码来源:views.py


示例11: destroy

 def destroy(self, request, pk=None, parent_lookup_organization=None):
     '''Remove a user from an organization.'''
     user = get_object_or_404(User, pk=pk)
     org = get_object_or_404(
         SeedOrganization, pk=parent_lookup_organization)
     self.check_object_permissions(request, org)
     org.users.remove(user)
     return Response(status=status.HTTP_204_NO_CONTENT)
开发者ID:praekelt,项目名称:seed-auth-api,代码行数:8,代码来源:views.py


示例12: update

 def update(self, request, pk=None, parent_lookup_organization=None):
     '''Add a user to an organization.'''
     user = get_object_or_404(User, pk=pk)
     org = get_object_or_404(
         SeedOrganization, pk=parent_lookup_organization)
     self.check_object_permissions(request, org)
     org.users.add(user)
     return Response(status=status.HTTP_204_NO_CONTENT)
开发者ID:praekelt,项目名称:seed-auth-api,代码行数:8,代码来源:views.py


示例13: create

 def create(self, request, *args, **kwargs):
     request._data = request.DATA.copy()
     app = request.DATA["app"] = get_object_or_404(models.App, id=self.kwargs["id"])
     # check the user is authorized for this app
     user = request.DATA["owner"] = get_object_or_404(User, username=self.request.DATA["receive_user"])
     if user == app.owner or user in get_users_with_perms(app):
         return super(AppPushViewSet, self).create(request, *args, **kwargs)
     raise PermissionDenied()
开发者ID:jfw,项目名称:deis,代码行数:8,代码来源:views.py


示例14: create

 def create(self, request, *args, **kwargs):
     app = get_object_or_404(models.App, id=request.DATA["receive_repo"])
     user = get_object_or_404(User, username=request.DATA["receive_user"])
     # check the user is authorized for this app
     if user == app.owner or user in get_users_with_perms(app):
         config = app.release_set.latest().config
         serializer = self.get_serializer(config)
         return Response(serializer.data, status=status.HTTP_200_OK)
     raise PermissionDenied()
开发者ID:ryanmathis,项目名称:deis,代码行数:9,代码来源:views.py


示例15: create

 def create(self, request, **kwargs):
     app = get_object_or_404(self.model, id=kwargs['id'])
     if request.user != app.owner:
         return Response(status=status.HTTP_403_FORBIDDEN)
     user = get_object_or_404(User, username=request.DATA['username'])
     assign_perm(self.perm, user, app)
     app.publish()
     tasks.converge_controller.apply_async().wait()
     return Response(status=status.HTTP_201_CREATED)
开发者ID:danabox,项目名称:deis,代码行数:9,代码来源:views.py


示例16: destroy

 def destroy(self, request, **kwargs):
     app = get_object_or_404(self.model, id=kwargs['id'])
     if request.user != app.owner and not request.user.is_superuser:
         return Response(status=status.HTTP_403_FORBIDDEN)
     user = get_object_or_404(User, username=kwargs['username'])
     if user.has_perm(self.perm, app):
         remove_perm(self.perm, user, app)
         models.log_event(app, "User {} was revoked access to {}".format(user, app))
         return Response(status=status.HTTP_204_NO_CONTENT)
     else:
         return Response(status=status.HTTP_404_NOT_FOUND)
开发者ID:Mistobaan,项目名称:deis,代码行数:11,代码来源:views.py


示例17: update

 def update(self, request, pk):
     product = get_object_or_404(Product, pk=pk)
     self.check_object_permissions(request, product)  # compruebo si el usuario autenticado puede hacer PUT en este product
     serializer = ProductUpdateSerializer(instance=product, data=request.data)
     if serializer.is_valid():
         category = get_object_or_404(Category, index=request.data.get('category', dict()).get('index'))
         seller = get_object_or_404(Profile, user=request.user)
         product = serializer.save(seller=seller, category=category)
         response_serializer = ProductSerializer(product)
         return Response(response_serializer.data, status=status.HTTP_200_OK)
     else:
         return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
开发者ID:farfromsober,项目名称:ffs_django,代码行数:12,代码来源:api.py


示例18: destroy

 def destroy(self, request, **kwargs):
     app = get_object_or_404(self.model, id=kwargs['id'])
     if request.user != app.owner:
         return Response(status=status.HTTP_403_FORBIDDEN)
     user = get_object_or_404(User, username=kwargs['username'])
     if user.has_perm(self.perm, app):
         remove_perm(self.perm, user, app)
         app.publish()
         tasks.converge_controller.apply_async().wait()
         return Response(status=status.HTTP_204_NO_CONTENT)
     else:
         return Response(status=status.HTTP_404_NOT_FOUND)
开发者ID:danabox,项目名称:deis,代码行数:12,代码来源:views.py


示例19: delete

    def delete(self, request, *args, **kwargs):
        try:
            uuid = request.data['uuid']
        except KeyError:
            raise Http404

        filter_params = {
            'uuid': uuid,
            'user': request.user
        }

        get_object_or_404(self.model, **filter_params).delete()
        return Response(status=204)
开发者ID:jeffshek,项目名称:betterself,代码行数:13,代码来源:views.py


示例20: destroy

 def destroy(self, request, **kwargs):
     app = get_object_or_404(self.model, id=kwargs["id"])
     if request.user != app.owner:
         return Response(status=status.HTTP_403_FORBIDDEN)
     user = get_object_or_404(User, username=kwargs["username"])
     if user.has_perm(self.perm, app):
         remove_perm(self.perm, user, app)
         app.publish()
         tasks.converge_controller.apply_async().wait()
         models.log_event(app, "User {} was revoked access to {}".format(user, app))
         return Response(status=status.HTTP_204_NO_CONTENT)
     else:
         return Response(status=status.HTTP_404_NOT_FOUND)
开发者ID:jfw,项目名称:deis,代码行数:13,代码来源:views.py



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Python pagination.PageNumberPagination类代码示例发布时间:2022-05-26
下一篇:
Python fields.get_component函数代码示例发布时间: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