1
0
mirror of https://gitlab.crans.org/mediatek/med.git synced 2025-07-07 16:28:32 +02:00

Replace old models by new models to update DB structure

This commit is contained in:
2021-10-26 11:37:32 +02:00
parent 39e345ee67
commit e3bab2389c
4 changed files with 467 additions and 19 deletions

View File

@ -5,12 +5,14 @@
from django.urls import reverse
from django.utils.html import format_html
from django.utils.translation import ugettext_lazy as _
from polymorphic.admin import PolymorphicChildModelAdmin, \
PolymorphicParentModelAdmin
from med.admin import admin_site
from reversion.admin import VersionAdmin
from .forms import MediaAdminForm
from .models import Author, CD, Comic, Emprunt, FutureMedium, Game, Manga,\
Novel, Review, Vinyl
from .models import Author, Borrowable, CD, Comic, Emprunt, FutureMedium, \
Game, Manga, Novel, Review, Vinyl
class AuthorAdmin(VersionAdmin):
@ -18,7 +20,12 @@ class AuthorAdmin(VersionAdmin):
search_fields = ('name',)
class MediumAdmin(VersionAdmin):
class BorrowableAdmin(PolymorphicParentModelAdmin):
search_fields = ('title',)
child_models = (CD, Comic, Manga, Novel, Review, Vinyl,)
class MediumAdmin(VersionAdmin, PolymorphicChildModelAdmin):
list_display = ('__str__', 'authors_list', 'side_identifier', 'isbn',
'external_link')
search_fields = ('title', 'authors__name', 'side_identifier', 'subtitle',
@ -77,7 +84,7 @@ class FutureMediumAdmin(VersionAdmin):
extra_context=extra_context)
class CDAdmin(VersionAdmin):
class CDAdmin(VersionAdmin, PolymorphicChildModelAdmin):
list_display = ('title', 'authors_list', 'side_identifier',)
search_fields = ('title', 'authors__name', 'side_identifier',)
autocomplete_fields = ('authors',)
@ -88,7 +95,7 @@ class CDAdmin(VersionAdmin):
authors_list.short_description = _('authors')
class VinylAdmin(VersionAdmin):
class VinylAdmin(VersionAdmin, PolymorphicChildModelAdmin):
list_display = ('title', 'authors_list', 'side_identifier', 'rpm',)
search_fields = ('title', 'authors__name', 'side_identifier', 'rpm',)
autocomplete_fields = ('authors',)
@ -99,7 +106,7 @@ class VinylAdmin(VersionAdmin):
authors_list.short_description = _('authors')
class ReviewAdmin(VersionAdmin):
class ReviewAdmin(VersionAdmin, PolymorphicChildModelAdmin):
list_display = ('__str__', 'number', 'year', 'month', 'day', 'double',)
search_fields = ('title', 'number', 'year',)
@ -140,14 +147,15 @@ class EmpruntAdmin(VersionAdmin):
return super().add_view(request, form_url, extra_context)
class GameAdmin(VersionAdmin):
list_display = ('name', 'owner', 'duration', 'players_min',
class GameAdmin(VersionAdmin, PolymorphicChildModelAdmin):
list_display = ('title', 'owner', 'duration', 'players_min',
'players_max', 'comment')
search_fields = ('name', 'owner__username', 'duration', 'comment')
autocomplete_fields = ('owner',)
admin_site.register(Author, AuthorAdmin)
admin_site.register(Borrowable, BorrowableAdmin)
admin_site.register(Comic, MediumAdmin)
admin_site.register(Manga, MediumAdmin)
admin_site.register(Novel, MediumAdmin)