MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / per_state_flush_actions

Method per_state_flush_actions

lib/sqlalchemy/orm/unitofwork.py:686–701  ·  view source on GitHub ↗
(self, uow)

Source from the content-addressed store, hash-verified

684 )
685
686 def per_state_flush_actions(self, uow):
687 states = list(
688 uow.states_for_mapper_hierarchy(self.mapper, True, False)
689 )
690 base_mapper = self.mapper.base_mapper
691 save_all = _SaveUpdateAll(uow, base_mapper)
692 for state in states:
693 # keep saves before deletes -
694 # this ensures 'row switch' operations work
695 action = _DeleteState(uow, state)
696 uow.dependencies.add((save_all, action))
697 yield action
698
699 for dep in uow.deps[self.mapper]:
700 states_for_prop = uow.filter_states_for_dep(dep, states)
701 dep.per_state_flush_actions(uow, states_for_prop, True)
702
703 def __repr__(self):
704 return "%s(%s)" % (self.__class__.__name__, self.mapper)

Callers 2

_generate_actionsMethod · 0.45

Calls 5

_SaveUpdateAllClass · 0.85
_DeleteStateClass · 0.85
filter_states_for_depMethod · 0.80
addMethod · 0.45

Tested by

no test coverage detected