我正在使用序列化程序来获取特定资源的相关数据,如下所示:
会话序列化器.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 缓存装饰器,这似乎工作正常。但是,当实例有更新和/或任何相关实例(如用户)有更新时,我不能使缓存数据无效。
是否有关于如何在更新时清除缓存数据的标准做法或文档?