from django.contrib import admin,messages from django.utils.translation import ngettext from .models import SimpsonsData,simpsons_data_object # Register your models here. DB = 'simpsons_db' @admin.action(description="Mark episode as seen") def make_seen(modeladmin, request, queryset): updated = queryset.update(seen="True") modeladmin.message_user( request, ngettext( "%d episode was successfully marked as seen.", "%d episodes were successfully marked as seen.", updated, ) % updated, messages.SUCCESS, ) @admin.action(description="Mark episode as not seen") def make_unseen(modeladmin, request, queryset): updated = queryset.update(seen="False") modeladmin.message_user( request, ngettext( "%d episode was successfully marked as not seen.", "%d episodes were successfully marked as not seen.", updated, ) % updated, messages.SUCCESS, ) @admin.action(description="create_entry") def create_entry(modeladmin, request, queryset): simpsons_data_object.create(season=2, episode=3, url="google.com", seen=True) @admin.register(SimpsonsData) class EpisodeAdmin(admin.ModelAdmin): list_display = ('season', 'episode', 'url', 'seen') list_filter = ['seen'] fields = ['season', 'episode', 'url', 'seen'] actions = [make_seen,make_unseen,create_entry] def get_queryset(self, request): return super().get_queryset(request).using(DB) def save_model(self, request, obj, form, change): obj.save(using=DB) def delete_model(self, request, obj): obj.delete(using=DB) def delete_queryset(self, request, queryset): queryset.using(DB).delete()