diff --git a/app/modules/cms/__init__.py b/app/modules/cms/__init__.py index 5820ee98..354081b8 100644 --- a/app/modules/cms/__init__.py +++ b/app/modules/cms/__init__.py @@ -27,6 +27,20 @@ Usage: from app.modules.cms.exceptions import ContentPageNotFoundException """ -from app.modules.cms.definition import cms_module +# NOTE: Do NOT import cms_module at top level to avoid circular import. +# The circular import chain is: +# models.database -> model discovery -> app.modules.cms.models +# -> app.modules.cms.__init__ -> cms_module -> app.modules.base +# -> models.database.admin_menu_config (partial) +# +# Use lazy import instead: +# from app.modules.cms.definition import cms_module -__all__ = ["cms_module"] + +def get_cms_module(): + """Lazy getter for cms_module to avoid circular imports.""" + from app.modules.cms.definition import cms_module + return cms_module + + +__all__ = ["get_cms_module"]