diff options
| author | Bobby <[email protected]> | 2024-09-03 21:13:48 -0400 |
|---|---|---|
| committer | Bobby <[email protected]> | 2024-09-03 21:13:48 -0400 |
| commit | f170e24e0396db936f3a26dd78a6c504a400cde9 (patch) | |
| tree | 7514ea8bae52bfe0e630aeee1b95772bd50c15b1 /watch/admin.py | |
| parent | 7f57da0d18ac5bfb35a357740fabb38234890527 (diff) | |
| download | yugen-f170e24e0396db936f3a26dd78a6c504a400cde9.tar.xz yugen-f170e24e0396db936f3a26dd78a6c504a400cde9.zip | |
database based optimizations
Diffstat (limited to 'watch/admin.py')
| -rw-r--r-- | watch/admin.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/watch/admin.py b/watch/admin.py index 8c38f3f..602025f 100644 --- a/watch/admin.py +++ b/watch/admin.py @@ -1,3 +1,35 @@ from django.contrib import admin +from django.db import transaction # Register your models here. +from .models import Anime, AnimeGenre, AnimeStudio, AnimeTitle, AnimeTrailer, AnimeSeason, AnimeEpisode + +admin.site.register(AnimeGenre) +admin.site.register(AnimeStudio) +admin.site.register(AnimeTitle) +admin.site.register(AnimeTrailer) +admin.site.register(AnimeSeason) +admin.site.register(AnimeEpisode) + +class AnimeTitleInline(admin.StackedInline): + model = AnimeTitle + +class AnimeTrailerInline(admin.StackedInline): + model = AnimeTrailer + [email protected](Anime) +class AnimeAdmin(admin.ModelAdmin): + inlines = [AnimeTitleInline, AnimeTrailerInline] + list_display = ('id', 'get_title', 'status', 'totalEpisodes', 'currentEpisode') + search_fields = ('id', 'title__english', 'title__romaji') + + def get_title(self, obj): + return str(obj.title) if hasattr(obj, 'title') else '' + get_title.short_description = 'Title' + + @admin.action(description="Delete selected anime (including title and trailer)") + def delete_with_related(self, request, queryset): + queryset.delete() + + actions = [delete_with_related] + |
