Files
cmhub/apps/api/admin.py
T

60 lines
1.5 KiB
Python
Raw Normal View History

2026-07-02 09:07:15 +08:00
from django.contrib import admin
2026-07-17 15:55:38 +08:00
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
2026-07-08 22:08:48 +08:00
@admin.register(ImageGenerationTask)
class ImageGenerationTaskAdmin(admin.ModelAdmin):
2026-07-20 08:58:34 +08:00
change_form_template = "admin/api/imagegenerationtask/change_form.html"
2026-07-17 15:55:38 +08:00
inlines = (ImageGenerationTaskInputInline,)
2026-07-08 22:08:48 +08:00
list_display = (
"task_id",
"user",
"status",
"attempt_count",
2026-07-09 14:46:09 +08:00
"next_attempt_at",
2026-07-08 22:08:48 +08:00
"points_balance_after_charge",
"created_at",
"finished_at",
)
2026-07-09 14:46:09 +08:00
list_filter = ("status", "created_at", "next_attempt_at", "finished_at")
2026-07-08 22:08:48 +08:00
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",
2026-07-09 14:46:09 +08:00
"next_attempt_at",
2026-07-08 22:08:48 +08:00
"locked_at",
"lease_expires_at",
"heartbeat_at",
"worker_id",
"attempt_count",
"created_at",
"updated_at",
)