Return a :class:`.Tuple`. Main usage is to produce a composite IN construct using :meth:`.ColumnOperators.in_` :: from sqlalchemy import tuple_ tuple_(table.c.col1, table.c.col2).in_([(1, 2), (5, 12), (10, 19)]) .. versionchanged:: 1.3.6 Added support for SQLite IN tu
(
*clauses: _ColumnExpressionArgument[Any],
types: Optional[Sequence[_TypeEngineArgument[Any]]] = None,
)
| 1733 | |
| 1734 | |
| 1735 | def tuple_( |
| 1736 | *clauses: _ColumnExpressionArgument[Any], |
| 1737 | types: Optional[Sequence[_TypeEngineArgument[Any]]] = None, |
| 1738 | ) -> Tuple: |
| 1739 | """Return a :class:`.Tuple`. |
| 1740 | |
| 1741 | Main usage is to produce a composite IN construct using |
| 1742 | :meth:`.ColumnOperators.in_` :: |
| 1743 | |
| 1744 | from sqlalchemy import tuple_ |
| 1745 | |
| 1746 | tuple_(table.c.col1, table.c.col2).in_([(1, 2), (5, 12), (10, 19)]) |
| 1747 | |
| 1748 | .. versionchanged:: 1.3.6 Added support for SQLite IN tuples. |
| 1749 | |
| 1750 | .. warning:: |
| 1751 | |
| 1752 | The composite IN construct is not supported by all backends, and is |
| 1753 | currently known to work on PostgreSQL, MySQL, and SQLite. |
| 1754 | Unsupported backends will raise a subclass of |
| 1755 | :class:`~sqlalchemy.exc.DBAPIError` when such an expression is |
| 1756 | invoked. |
| 1757 | |
| 1758 | """ |
| 1759 | return Tuple(*clauses, types=types) |
| 1760 | |
| 1761 | |
| 1762 | def type_coerce( |