Skip to content

Commit 92d5257

Browse files
authored
Use class-bound attribute directly in SA joinedload (#39198)
1 parent 84f1ae2 commit 92d5257

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

airflow/models/trigger.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -138,16 +138,16 @@ def from_object(cls, trigger: BaseTrigger) -> Trigger:
138138
@provide_session
139139
def bulk_fetch(cls, ids: Iterable[int], session: Session = NEW_SESSION) -> dict[int, Trigger]:
140140
"""Fetch all the Triggers by ID and return a dict mapping ID -> Trigger instance."""
141-
query = session.scalars(
141+
stmt = (
142142
select(cls)
143143
.where(cls.id.in_(ids))
144144
.options(
145-
joinedload("task_instance"),
146-
joinedload("task_instance.trigger"),
147-
joinedload("task_instance.trigger.triggerer_job"),
145+
joinedload(cls.task_instance)
146+
.joinedload(TaskInstance.trigger)
147+
.joinedload(Trigger.triggerer_job)
148148
)
149149
)
150-
return {obj.id: obj for obj in query}
150+
return {obj.id: obj for obj in session.scalars(stmt)}
151151

152152
@classmethod
153153
@internal_api_call

0 commit comments

Comments
 (0)