版本
Django == 2.2.11
djangorestframework == 3.10.3
drf-extensions == 0.5.0
注意
在使用drf-extensions
中的缓存mixin时,首先需要继承rest_framework
的mixin,如果List
/Retrieve
的mixin被自己继承重新编写,则需要drf-extensions
的装饰函数才能实现缓存。示例如下:
from rest_framework.viewsets import ModelViewSet
from rest_framework_extensions.cache.mixins import RetrieveCacheResponseMixin
from rest_framework_extensions.cache.decorators import cache_response
class ProjectView(RetrieveCacheResponseMixin, ModelViewSet):
@cache_response(key_func=MyDefaultKeyConstructor())
def list(self, request, *args, **kwargs):
pass