Refactor model imports and update admin classes to use pghistory for historical tracking; replace HistoricalModel with TrackedModel in relevant models

This commit is contained in:
pacnpal
2025-02-09 11:20:40 -05:00
parent 7ecf43f1a4
commit b7f6c60682
24 changed files with 1729 additions and 137 deletions

View File

@@ -1,9 +1,8 @@
from django.contrib import admin
from django.utils.html import format_html
from simple_history.admin import SimpleHistoryAdmin
from .models import Park, ParkArea
class ParkAdmin(SimpleHistoryAdmin):
class ParkAdmin(admin.ModelAdmin):
list_display = ('name', 'formatted_location', 'status', 'owner', 'created_at', 'updated_at')
list_filter = ('status',)
search_fields = ('name', 'description', 'location__name', 'location__city', 'location__country')
@@ -15,21 +14,13 @@ class ParkAdmin(SimpleHistoryAdmin):
return obj.formatted_location
formatted_location.short_description = 'Location'
def get_history_list_display(self, request):
"""Customize the list display for history records"""
return ('name', 'formatted_location', 'status', 'history_date', 'history_user')
class ParkAreaAdmin(SimpleHistoryAdmin):
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',)}
def get_history_list_display(self, request):
"""Customize the list display for history records"""
return ('name', 'park', 'history_date', 'history_user')
# Register the models with their admin classes
admin.site.register(Park, ParkAdmin)
admin.site.register(ParkArea, ParkAreaAdmin)