from django.contrib import admin from .models import ImageGenerationTask, ImageGenerationTaskInput class ImageGenerationTaskInputInline(admin.TabularInline): model = ImageGenerationTaskInput extra = 0 can_delete = False fields = ("ordinal", "image", "mime_type", "filename", "created_at") readonly_fields = fields @admin.register(ImageGenerationTask) class ImageGenerationTaskAdmin(admin.ModelAdmin): inlines = (ImageGenerationTaskInputInline,) list_display = ( "task_id", "user", "status", "attempt_count", "next_attempt_at", "points_balance_after_charge", "created_at", "finished_at", ) list_filter = ("status", "created_at", "next_attempt_at", "finished_at") search_fields = ( "task_id", "user__username", "api_key__key_prefix", "call_record__id", "idempotency_key", "error_code", ) readonly_fields = ( "task_id", "user", "api_key", "call_record", "idempotency_key_hash", "request_hash", "request_payload", "input_image", "result_url", "points_balance_after_charge", "started_at", "finished_at", "expires_at", "next_attempt_at", "locked_at", "lease_expires_at", "heartbeat_at", "worker_id", "attempt_count", "created_at", "updated_at", )