diff --git a/manila/db/sqlalchemy/api.py b/manila/db/sqlalchemy/api.py index 12fd284aa7..0dae9d7415 100644 --- a/manila/db/sqlalchemy/api.py +++ b/manila/db/sqlalchemy/api.py @@ -2653,7 +2653,7 @@ def _share_type_get_query(context, session=None, read_deleted=None, models.ShareTypes, session=session, read_deleted=read_deleted). \ - options(joinedload('extra_specs')).options(joinedload('shares')) + options(joinedload('extra_specs')) if 'projects' in expected_fields: query = query.options(joinedload('projects')) @@ -2722,7 +2722,6 @@ def _share_type_get(context, id, session=None, inactive=False, result = _share_type_get_query( context, session, read_deleted, expected_fields). \ filter_by(id=id). \ - options(joinedload('shares')). \ first() if not result: @@ -2750,7 +2749,6 @@ def _share_type_get_by_name(context, name, session=None): result = model_query(context, models.ShareTypes, session=session).\ options(joinedload('extra_specs')).\ filter_by(name=name).\ - options(joinedload('shares')).\ first() if not result: diff --git a/manila/db/sqlalchemy/models.py b/manila/db/sqlalchemy/models.py index 726cfe1215..e4a1f0cd64 100644 --- a/manila/db/sqlalchemy/models.py +++ b/manila/db/sqlalchemy/models.py @@ -278,6 +278,13 @@ class Share(BASE, ManilaBase): viewonly=True, join_depth=2, ) + share_type = orm.relationship( + "ShareTypes", + lazy=True, + foreign_keys=share_type_id, + primaryjoin='and_(' + 'Share.share_type_id == ShareTypes.id, ' + 'ShareTypes.deleted == "False")') class ShareInstance(BASE, ManilaBase): @@ -365,13 +372,6 @@ class ShareTypes(BASE, ManilaBase): deleted = Column(String(36), default='False') name = Column(String(255)) is_public = Column(Boolean, default=True) - shares = orm.relationship(Share, - backref=orm.backref('share_type', - uselist=False), - foreign_keys=id, - primaryjoin='and_(' - 'Share.share_type_id == ShareTypes.id, ' - 'ShareTypes.deleted == "False")') class ShareTypeProjects(BASE, ManilaBase):