diff --git a/datajunction-server/datajunction_server/api/graphql/scalars/node.py b/datajunction-server/datajunction_server/api/graphql/scalars/node.py index 0039de2ff..4a20a14be 100644 --- a/datajunction-server/datajunction_server/api/graphql/scalars/node.py +++ b/datajunction-server/datajunction_server/api/graphql/scalars/node.py @@ -7,7 +7,7 @@ import strawberry from strawberry.scalars import JSON from strawberry.types import Info -from sqlalchemy.orm.attributes import InstrumentedAttribute +from sqlalchemy.orm.attributes import InstrumentedAttribute, set_committed_value from datajunction_server.api.graphql.scalars import BigInt from datajunction_server.api.graphql.scalars.availabilitystate import ( @@ -222,6 +222,9 @@ def dimension_links(self) -> list[DimensionLink]: """ Returns the dimension links for this node revision. """ + # Pre-seed each link's node rev to short-circuit the lazy load. + for link in self.dimension_links: + set_committed_value(link, "node_revision", self) return [ link for link in self.dimension_links