# history_tracking/apps.py from django.apps import AppConfig class HistoryTrackingConfig(AppConfig): default_auto_field = "django.db.models.BigAutoField" name = "history_tracking" def ready(self): from django.apps import apps from .mixins import HistoricalChangeMixin # Get the Park model try: Park = apps.get_model('parks', 'Park') ParkArea = apps.get_model('parks', 'ParkArea') # Apply mixin to historical models if HistoricalChangeMixin not in Park.history.model.__bases__: Park.history.model.__bases__ = (HistoricalChangeMixin,) + Park.history.model.__bases__ if HistoricalChangeMixin not in ParkArea.history.model.__bases__: ParkArea.history.model.__bases__ = (HistoricalChangeMixin,) + ParkArea.history.model.__bases__ except LookupError: # Models might not be loaded yet pass