from django.apps import AppConfig class AutocompleteConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'autocomplete' def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self._registry = {} def ready(self): """Register all autocomplete classes.""" from parks.forms import ParkAutocomplete # Register autocomplete classes self.register_autocomplete('park', ParkAutocomplete) def register_autocomplete(self, name, ac_class): """Register an autocomplete class.""" self._registry[name] = ac_class def get_autocomplete_class(self, name): """Get an autocomplete class by name.""" return self._registry.get(name)