87 lines
2.5 KiB
Python
87 lines
2.5 KiB
Python
from django.contrib import admin
|
|
|
|
from . import models
|
|
|
|
|
|
@admin.register(models.Artist)
|
|
class ArtistAdmin(admin.ModelAdmin):
|
|
list_display = ["name", "mbid", "creation_date"]
|
|
search_fields = ["name", "mbid"]
|
|
|
|
|
|
@admin.register(models.Album)
|
|
class AlbumAdmin(admin.ModelAdmin):
|
|
list_display = ["title", "artist", "mbid", "release_date", "creation_date"]
|
|
search_fields = ["title", "artist__name", "mbid"]
|
|
list_select_related = True
|
|
|
|
|
|
@admin.register(models.Track)
|
|
class TrackAdmin(admin.ModelAdmin):
|
|
list_display = ["title", "artist", "album", "mbid"]
|
|
search_fields = ["title", "artist__name", "album__title", "mbid"]
|
|
list_select_related = True
|
|
|
|
|
|
@admin.register(models.ImportBatch)
|
|
class ImportBatchAdmin(admin.ModelAdmin):
|
|
list_display = ["submitted_by", "creation_date", "import_request", "status"]
|
|
list_select_related = ["submitted_by", "import_request"]
|
|
list_filter = ["status"]
|
|
search_fields = ["import_request__name", "source", "batch__pk", "mbid"]
|
|
|
|
|
|
@admin.register(models.ImportJob)
|
|
class ImportJobAdmin(admin.ModelAdmin):
|
|
list_display = ["source", "batch", "track_file", "status", "mbid"]
|
|
list_select_related = ["track_file", "batch"]
|
|
search_fields = ["source", "batch__pk", "mbid"]
|
|
list_filter = ["status"]
|
|
|
|
|
|
@admin.register(models.Work)
|
|
class WorkAdmin(admin.ModelAdmin):
|
|
list_display = ["title", "mbid", "language", "nature"]
|
|
list_select_related = True
|
|
search_fields = ["title"]
|
|
list_filter = ["language", "nature"]
|
|
|
|
|
|
@admin.register(models.Lyrics)
|
|
class LyricsAdmin(admin.ModelAdmin):
|
|
list_display = ["url", "id", "url"]
|
|
list_select_related = True
|
|
search_fields = ["url", "work__title"]
|
|
list_filter = ["work__language"]
|
|
|
|
|
|
@admin.register(models.TrackFile)
|
|
class TrackFileAdmin(admin.ModelAdmin):
|
|
list_display = [
|
|
"track",
|
|
"audio_file",
|
|
"source",
|
|
"duration",
|
|
"mimetype",
|
|
"size",
|
|
"bitrate",
|
|
"import_status",
|
|
]
|
|
list_select_related = ["track"]
|
|
search_fields = [
|
|
"source",
|
|
"acoustid_track_id",
|
|
"track__title",
|
|
"track__album__title",
|
|
"track__artist__name",
|
|
]
|
|
list_filter = ["mimetype", "import_status", "library__privacy_level"]
|
|
|
|
|
|
@admin.register(models.Library)
|
|
class LibraryAdmin(admin.ModelAdmin):
|
|
list_display = ["id", "name", "actor", "uuid", "privacy_level", "creation_date"]
|
|
list_select_related = True
|
|
search_fields = ["actor__username", "name", "description"]
|
|
list_filter = ["privacy_level"]
|