python - 在 Django Rest Framework 中缓存序列化程序响应
问题描述
我正在使用序列化程序来获取特定资源的相关数据,如下所示:
会话序列化器.py
def to_representation(self, instance):
response = super().to_representation(instance)
response["user"] = UserSerializer(instance.user).data
if instance.experiment:
response["experiment"] = ExperimentSerializer(instance.experiment).data
response["last_event"] = EventSerializer(instance.last_global_event).data
# fetch and return all session answers tied to this session
response["session_answers"] = instance.sessionanswer_set.values()
return response
我还在 SessionViewSet 中使用 DRF 缓存装饰器,这似乎工作正常。但是,当实例有更新和/或任何相关实例(如用户)有更新时,我不能使缓存数据无效。
是否有关于如何在更新时清除缓存数据的标准做法或文档?
解决方案
要监听数据库记录的更改并根据它们进行更改,可以使用 django 信号:
推荐阅读
- asp.net-boilerplate - 我正在尝试在 asp.net 样板中实现权限,但我似乎无法做到正确
- typescript - 具有条件可选键的对象
- r - 如何在R中组合具有不同列数的表?
- android - 如何以编程方式将左边距和上边距设置为框架布局?
- android - ViewPager2:getPageWidth 替代
- c++ - 使用 C++ 程序合并排序没有得到正确的输出
- reactjs - 在 Jest 中模拟 jwt-decode
- node.js - eslintrc 文件 | 节点
- docker - 为每个活跃用户模拟隔离环境
- javascript - 如何从打字稿中调用javascript文件中的方法