| 3562 | return state.manager[prop.key].impl.get(state, dict_, passive=passive) |
| 3563 | |
| 3564 | def _state_ident_getter(self, columns, passive): |
| 3565 | lookup_keys = [self._columntoproperty[col].key for col in columns] |
| 3566 | missing = object() |
| 3567 | |
| 3568 | def get_ident(state, state_dict): |
| 3569 | return tuple( |
| 3570 | ( |
| 3571 | v |
| 3572 | if (v := state_dict.get(lk, missing)) is not missing |
| 3573 | else self._get_state_attr_by_column( |
| 3574 | state, state_dict, col, passive=passive |
| 3575 | ) |
| 3576 | ) |
| 3577 | for lk, col in zip(lookup_keys, columns) |
| 3578 | ) |
| 3579 | |
| 3580 | return get_ident |
| 3581 | |
| 3582 | def _set_committed_state_attr_by_column(self, state, dict_, column, value): |
| 3583 | prop = self._columntoproperty[column] |