Plain is headed towards 1.0! Subscribe for development updates →

 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"