当前位置: 首页>>代码示例>>Python>>正文


Python serializer_helpers.ReturnList方法代码示例

本文整理汇总了Python中rest_framework.utils.serializer_helpers.ReturnList方法的典型用法代码示例。如果您正苦于以下问题:Python serializer_helpers.ReturnList方法的具体用法?Python serializer_helpers.ReturnList怎么用?Python serializer_helpers.ReturnList使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在rest_framework.utils.serializer_helpers的用法示例。


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

示例1: _run_test

# 需要导入模块: from rest_framework.utils import serializer_helpers [as 别名]
# 或者: from rest_framework.utils.serializer_helpers import ReturnList [as 别名]
def _run_test(serializer_cls, model_cls, sql_queries=1) -> ReturnList:
    """
    Boilerplate for running the tests
    :return: the serializer data to assert one
    """

    print(
        f'Running test with serializer "{serializer_cls.__name__}" and model {model_cls.__name__}'
    )
    case = TestCase()
    request = APIRequestFactory().get("/FOO")

    with case.assertNumQueries(sql_queries):
        prefetched_queryset = prefetch(model_cls.objects.all(), serializer_cls)
        serializer_instance = serializer_cls(
            instance=prefetched_queryset, many=True, context={"request": request}
        )
        print("Data returned:")
        pprint_result(serializer_instance.data)
        return serializer_instance.data 
开发者ID:GeeWee,项目名称:django-auto-prefetching,代码行数:22,代码来源:tests.py

示例2: _get_error_details

# 需要导入模块: from rest_framework.utils import serializer_helpers [as 别名]
# 或者: from rest_framework.utils.serializer_helpers import ReturnList [as 别名]
def _get_error_details(data, default_code=None):
    """
    Descend into a nested data structure, forcing any
    lazy translation strings or strings into `ErrorDetail`.
    """
    if isinstance(data, list):
        ret = [
            _get_error_details(item, default_code) for item in data
        ]
        if isinstance(data, ReturnList):
            return ReturnList(ret, serializer=data.serializer)
        return ret
    elif isinstance(data, dict):
        ret = {
            key: _get_error_details(value, default_code)
            for key, value in data.items()
        }
        if isinstance(data, ReturnDict):
            return ReturnDict(ret, serializer=data.serializer)
        return ret

    text = force_text(data)
    code = getattr(data, 'code', default_code)
    return ErrorDetail(text, code) 
开发者ID:BeanWei,项目名称:Dailyfresh-B2C,代码行数:26,代码来源:exceptions.py

示例3: data

# 需要导入模块: from rest_framework.utils import serializer_helpers [as 别名]
# 或者: from rest_framework.utils.serializer_helpers import ReturnList [as 别名]
def data(self):
        """Get the data, after performing post-processing if necessary."""
        data = super(DynamicListSerializer, self).data
        processed_data = ReturnDict(
            SideloadingProcessor(self, data).data,
            serializer=self
        ) if self.child.envelope else ReturnList(
            data,
            serializer=self
        )
        processed_data = post_process(processed_data)
        return processed_data 
开发者ID:AltSchool,项目名称:dynamic-rest,代码行数:14,代码来源:serializers.py

示例4: wrap_paginated

# 需要导入模块: from rest_framework.utils import serializer_helpers [as 别名]
# 或者: from rest_framework.utils.serializer_helpers import ReturnList [as 别名]
def wrap_paginated(self, data, renderer_context):
        """Convert paginated data to JSON API with meta"""

        pagination_keys = ['count', 'next', 'previous', 'results']
        for key in pagination_keys:
            if not (data and key in data):
                raise WrapperNotApplicable('Not paginated results')

        view = renderer_context.get("view", None)
        model = self.model_from_obj(view)
        resource_type = self.model_to_resource_type(model)

        try:
            from rest_framework.utils.serializer_helpers import ReturnList

            results = ReturnList(
                data["results"],
                serializer=data.serializer.fields["results"],
            )
        except ImportError:
            results = data["results"]

        # Use default wrapper for results
        wrapper = self.wrap_default(results, renderer_context)

        # Add pagination metadata
        pagination = self.dict_class()

        pagination['previous'] = data['previous']
        pagination['next'] = data['next']
        pagination['count'] = data['count']

        wrapper.setdefault('meta', self.dict_class())

        wrapper['meta'].setdefault('pagination', self.dict_class())
        wrapper['meta']['pagination'].setdefault(
            resource_type, self.dict_class()).update(pagination)

        return wrapper 
开发者ID:kevin-brown,项目名称:drf-json-api,代码行数:41,代码来源:renderers.py

示例5: pprint_result

# 需要导入模块: from rest_framework.utils import serializer_helpers [as 别名]
# 或者: from rest_framework.utils.serializer_helpers import ReturnList [as 别名]
def pprint_result(list: ReturnList):
    # Convert to regular dicts
    def to_dict(input_ordered_dict):
        return loads(dumps(input_ordered_dict))

    pprint([to_dict(res) for res in list]) 
开发者ID:GeeWee,项目名称:django-auto-prefetching,代码行数:8,代码来源:tests.py


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