59 lines
1.4 KiB
Python
59 lines
1.4 KiB
Python
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",
|
|
)
|