1from __future__ import annotations
2
3from plain.admin.views import (
4 AdminModelDetailView,
5 AdminModelListView,
6 AdminViewset,
7 register_viewset,
8)
9from plain.cache.models import CachedItem
10from plain.models import QuerySet
11
12
13@register_viewset
14class CachedItemViewset(AdminViewset):
15 class ListView(AdminModelListView):
16 nav_section = "Cache"
17 nav_icon = "archive"
18 model = CachedItem
19 title = "Cached items"
20 fields = [
21 "key",
22 "created_at",
23 "expires_at",
24 "updated_at",
25 ]
26 queryset_order = ["-id"]
27 allow_global_search = False
28
29 def get_objects(self) -> QuerySet[CachedItem]:
30 return (
31 super()
32 .get_objects()
33 .only("key", "created_at", "expires_at", "updated_at")
34 )
35
36 class DetailView(AdminModelDetailView):
37 model = CachedItem
38 title = "Cached item"