diff --git a/backend/geonature/core/imports/routes/imports.py b/backend/geonature/core/imports/routes/imports.py index 3866bbe7e6..02168c361e 100644 --- a/backend/geonature/core/imports/routes/imports.py +++ b/backend/geonature/core/imports/routes/imports.py @@ -11,13 +11,14 @@ from urllib.parse import quote as url_quote from sqlalchemy import or_, func, desc, select, delete from sqlalchemy.inspection import inspect -from sqlalchemy.orm import joinedload, Load, load_only, undefer, contains_eager +from sqlalchemy.orm import joinedload, Load, load_only, undefer, raiseload, contains_eager from sqlalchemy.orm.attributes import set_committed_value from sqlalchemy.sql.expression import collate, exists from geonature.utils.env import db from geonature.utils.sentry import start_sentry_child +from geonature.core.gn_commons.models import TModules from geonature.core.gn_permissions import decorators as permissions from geonature.core.gn_permissions.decorators import login_required from geonature.core.gn_permissions.tools import get_scopes_by_action @@ -111,13 +112,13 @@ def get_import_list(scope, destination=None): query = ( TImports.query.options( + raiseload("*"), contains_eager(TImports.dataset), contains_eager(TImports.authors), - contains_eager(TImports.destination).load_only(Destination.label, Destination.label), + joinedload(TImports.destination).joinedload(Destination.module), ) .join(TImports.dataset, isouter=True) .join(TImports.authors, isouter=True) - .join(Destination) .filter_by_scope(scope) .filter(or_(*filters) if len(filters) > 0 else True) .order_by(order_by)