Programming

1. admin

from django.contrib import admin

from .models import MartRow, QualityCheck, ReportRun, Snapshot


@admin.register(Snapshot)
class SnapshotAdmin(admin.ModelAdmin):
    list_display = ("period", "report_date", "row_count", "loan_count",
                    "npl_ratio", "status", "ingested_at")
    list_filter = ("status",)
    search_fields = ("source_name",)
    readonly_fields = ("ingested_at",)


@admin.register(QualityCheck)
class QualityCheckAdmin(admin.ModelAdmin):
    list_display = ("run_period", "check_name", "status", "detail")
    list_filter = ("status", "severity", "run_period")


@admin.register(ReportRun)
class ReportRunAdmin(admin.ModelAdmin):
    list_display = ("period", "lang", "fx_mode", "generated_at", "html_path")
    list_filter = ("lang", "fx_mode")


@admin.register(MartRow)
class MartRowAdmin(admin.ModelAdmin):
    """Read-only on purpose: marts are derived, never hand-edited."""
    list_display = ("mart", "period", "dim_name", "dim_value", "k1", "k2")
    list_filter = ("mart", "dim_name")
    search_fields = ("dim_value",)

    def has_add_permission(self, request):
        return False

    def has_change_permission(self, request, obj=None):
        return False
Helpful? Dislike 0 Log in to react