diff --git a/backend/app/admin/crud/crud_user.py b/backend/app/admin/crud/crud_user.py index f1ac4d4c..6d10bfc5 100644 --- a/backend/app/admin/crud/crud_user.py +++ b/backend/app/admin/crud/crud_user.py @@ -25,7 +25,7 @@ from backend.app.admin.schema.user import ( UpdateUserParam, ) from backend.app.admin.utils.password_security import get_hash_password -from backend.plugin.oauth2.crud.crud_user_social import user_social_dao +from backend.utils.import_parse import import_module_cached from backend.utils.serializers import select_join_serialize from backend.utils.timezone import timezone @@ -299,7 +299,13 @@ class CRUDUser(CRUDPlus[User]): user_role_stmt = delete(user_role).where(user_role.c.user_id == user_id) await db.execute(user_role_stmt) - await user_social_dao.delete_by_user_id(db, user_id) + try: + user_social = import_module_cached('backend.plugin.oauth2.crud.crud_user_social') + user_social_dao = user_social.user_social_dao + except (ImportError, AttributeError): + pass + else: + await user_social_dao.delete_by_user_id(db, user_id) return await self.delete_model(db, user_id)