| 1487 | self.__dict__.pop("_configure_failed", None) |
| 1488 | |
| 1489 | def _str_arg_to_mapped_col(self, argname: str, key: str) -> Column[Any]: |
| 1490 | try: |
| 1491 | prop = self._props[key] |
| 1492 | except KeyError as err: |
| 1493 | raise sa_exc.ArgumentError( |
| 1494 | f"Can't determine {argname} column '{key}' - " |
| 1495 | "no attribute is mapped to this name." |
| 1496 | ) from err |
| 1497 | try: |
| 1498 | expr = prop.expression |
| 1499 | except AttributeError as ae: |
| 1500 | raise sa_exc.ArgumentError( |
| 1501 | f"Can't determine {argname} column '{key}'; " |
| 1502 | "property does not refer to a single mapped Column" |
| 1503 | ) from ae |
| 1504 | if not isinstance(expr, Column): |
| 1505 | raise sa_exc.ArgumentError( |
| 1506 | f"Can't determine {argname} column '{key}'; " |
| 1507 | "property does not refer to a single " |
| 1508 | "mapped Column" |
| 1509 | ) |
| 1510 | return expr |
| 1511 | |
| 1512 | def _configure_pks(self) -> None: |
| 1513 | self.tables = sql_util.find_tables(self.persist_selectable) |