from django.contrib import admin from .models import MediaItem, MediaLocation class MediaLocationInline(admin.TabularInline): model = MediaLocation extra = 0 readonly_fields = ("path", "rel_path", "mtime") @admin.register(MediaItem) class MediaItemAdmin(admin.ModelAdmin): list_display = ("__str__", "j_id", "size", "rating", "uploaded_by", "hidden_from_guests", "created_at") list_filter = ("rating", "hidden_from_guests") search_fields = ("md5",) readonly_fields = ("hidden_from_guests",) inlines = [MediaLocationInline] @admin.display(description="J-ID") def j_id(self, obj): return f"J-{obj.id}" @admin.register(MediaLocation) class MediaLocationAdmin(admin.ModelAdmin): list_display = ("rel_path", "item", "mtime") search_fields = ("rel_path", "path")