Python有没有一种方法可以在序列化之后记忆计算?

2024-10-06 10:28:33 发布

您现在位置:Python中文网/ 问答频道 /正文

在使用Django REST序列化queryset之后,是否有一种既定的方法来记忆或缓存某些计算?我需要按某些属性对对象数组进行分组

每次请求都会进行此计算,但序列化数据完全不是动态的,它每1-2天更改一次,所以我想以某种方式缓存它

class ServiceViewSet(viewsets.ModelViewSet):
    queryset = Service.objects.all()
    serializer_class = ServiceSerializer

    def list(self, request, *args, **kwargs):
        service_list = self.serializer_class(self.queryset, many=True).data

        # I want to memoize calculations below
        groupped_services = defaultdict(list)
        for service in service_list:
            category_model = service.get('category_m', None)
            if category_model:
                groupper = category_model.get('category_title')
                groupped_services[groupper].append(service)
        return Response(groupped_services)

也许它会更有用的记忆序列化以及?但我不知道怎么做


Tags: django记忆selfrestgetmodel序列化service