File size: 944 Bytes
b4f2238
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
"""庭审笔记 Admin"""

from typing import Any, ClassVar

from django.contrib import admin
from django.utils.translation import gettext_lazy as _

from apps.evidence.models import HearingNote


@admin.register(HearingNote)
class HearingNoteAdmin(admin.ModelAdmin):  # type: ignore[type-arg]
    list_display: ClassVar = ("case", "content_short", "evidence_count", "created_at")
    list_filter: ClassVar = ("case",)
    search_fields: ClassVar = ("content", "case__name")
    autocomplete_fields: ClassVar = ("case",)
    filter_horizontal: ClassVar = ("evidence_items",)
    ordering: ClassVar = ["-created_at"]

    @admin.display(description=_("内容"))
    def content_short(self, obj: HearingNote) -> str:
        return obj.content[:50] + "..." if len(obj.content) > 50 else obj.content

    @admin.display(description=_("关联证据"))
    def evidence_count(self, obj: HearingNote) -> int:
        return obj.evidence_items.count()