63 lines
1.3 KiB
Python
63 lines
1.3 KiB
Python
from django.contrib import admin
|
|
from django.utils.safestring import mark_safe
|
|
|
|
from films.models import Film, Genre, Actor, Director, Country
|
|
|
|
|
|
@admin.register(Film)
|
|
class FilmAdmin(admin.ModelAdmin):
|
|
list_display = [
|
|
Film.name.field.name,
|
|
Film.duration.field.name,
|
|
Film.image.field.name,
|
|
'get_image',
|
|
]
|
|
|
|
readonly_fields = ("get_image",)
|
|
|
|
filter_horizontal = [
|
|
Film.genres.field.name,
|
|
Film.directors.field.name,
|
|
Film.countries.field.name,
|
|
Film.actors.field.name,
|
|
]
|
|
|
|
list_editable = [
|
|
Film.image.field.name,
|
|
]
|
|
|
|
def get_image(self, obj):
|
|
return mark_safe(
|
|
f"<img src='{obj.image_tmb()}' width='50' height='50'",
|
|
)
|
|
|
|
|
|
@admin.register(Genre)
|
|
class GenreAdmin(admin.ModelAdmin):
|
|
list_display = [
|
|
Genre.name.field.name,
|
|
]
|
|
|
|
|
|
@admin.register(Actor)
|
|
class ActorAdmin(admin.ModelAdmin):
|
|
list_display = [
|
|
Actor.first_name.field.name,
|
|
Actor.last_name.field.name,
|
|
]
|
|
|
|
|
|
@admin.register(Director)
|
|
class DirectorAdmin(admin.ModelAdmin):
|
|
list_display = [
|
|
Director.first_name.field.name,
|
|
Director.last_name.field.name,
|
|
]
|
|
|
|
|
|
@admin.register(Country)
|
|
class CountryAdmin(admin.ModelAdmin):
|
|
list_display = [
|
|
Country.name.field.name,
|
|
]
|