from django.contrib import admin from django.utils.html import format_html from .models import CloudProvider, Country, ServiceLevel, Service @admin.register(CloudProvider) class CloudProviderAdmin(admin.ModelAdmin): list_display = ("name", "logo_preview") search_fields = ("name",) def logo_preview(self, obj): if obj.logo: return format_html( '', obj.logo.url ) return "No logo" @admin.register(Country) class CountryAdmin(admin.ModelAdmin): list_display = ("name", "code") search_fields = ("name", "code") @admin.register(ServiceLevel) class ServiceLevelAdmin(admin.ModelAdmin): list_display = ("name", "response_time") search_fields = ("name",) @admin.register(Service) class ServiceAdmin(admin.ModelAdmin): list_display = ("name", "cloud_provider", "service_level", "price", "logo_preview") list_filter = ("cloud_provider", "service_level", "countries") search_fields = ("name", "description") filter_horizontal = ("countries",) def logo_preview(self, obj): if obj.logo: return format_html( '', obj.logo.url ) return "No logo"