from django.contrib import admin from django.utils.html import format_html from .models import Park, ParkArea class ParkAdmin(admin.ModelAdmin): list_display = ('name', 'formatted_location', 'status', 'operator', 'property_owner', 'created_at', 'updated_at') list_filter = ('status',) search_fields = ('name', 'description', 'location__name', 'location__city', 'location__country') readonly_fields = ('created_at', 'updated_at') prepopulated_fields = {'slug': ('name',)} def formatted_location(self, obj): """Display formatted location string""" return obj.formatted_location formatted_location.short_description = 'Location' class ParkAreaAdmin(admin.ModelAdmin): list_display = ('name', 'park', 'created_at', 'updated_at') list_filter = ('park',) search_fields = ('name', 'description', 'park__name') readonly_fields = ('created_at', 'updated_at') prepopulated_fields = {'slug': ('name',)} # Register the models with their admin classes admin.site.register(Park, ParkAdmin) admin.site.register(ParkArea, ParkAreaAdmin)