Python-有没有办法在序列化后记忆计算?

时间:2019-12-13 14:42:47

标签: python django caching django-rest-framework memoization

使用Django REST序列化查询集后,是否存在一种用于记忆或缓存某些计算的确定方法?我需要按某种属性对对象数组进行分组。

此计算发生在每个请求中,但是序列化数据根本不是动态的,它每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)

也许记住序列化会更有用吗?但是我不知道该怎么做。

0 个答案:

没有答案