from os.path import exists from importlib.machinery import SourceFileLoader from django.apps import apps def transfer_objects(data_type): for app in apps.get_app_configs(): if exists(f"{app.path}/transfer_data.py"): card_module = SourceFileLoader("transfer", f"{app.path}/transfer_data.py").load_module() if not hasattr(card_module, "data_types") \ or not isinstance(card_module.data_types, dict) \ or len(card_module.data_types) < 1: continue for module_data_type, transfer_funcs in card_module.data_types.items(): if data_type == module_data_type: for transfer_func in transfer_funcs: print(f"========================== FUNCTION {transfer_func.__name__} ================================") transfer_func()