python - Python - 有没有办法在序列化后记忆计算?
问题描述
在使用 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)
也许记忆序列化会更有用?但我不知道如何实现这一目标。
解决方案
推荐阅读
- r - lapply 中的函数调用
- postgresql - 何时在事务性写入中评估 nextval?
- javascript - node.js:webpack:Babel:未知替换“BODY”给定
- nebular - 有没有办法关闭所有的星云烤面包机?
- python - 正确使用 Anaconda 的 Python 作为 PATH 的“python”
- pcf - Git Bash 中的“正在验证......凭据被拒绝,请重试”
- c# - ARCore 可视化视频、图像和 3D 对象
- postgresql - 为最近的两个不同列选择值
- java - MQ 接收等待秒数
- php - 如何通过选择 html 表行安全地使用 $_GET['id'] 从数据库中获取详细信息