from typing import Optional
from typing import overload
from typing import Sequence
+from typing import Tuple
from typing import TYPE_CHECKING
from typing import TypeVar
if TYPE_CHECKING:
from ...sql._typing import _ColumnExpressionArgument
+ from ...sql._typing import _DDLColumnArgument
from ...sql.elements import ClauseElement
from ...sql.elements import ColumnElement
from ...sql.operators import OperatorType
":class:`.ExcludeConstraint`",
":paramref:`.ExcludeConstraint.where`",
)
- def __init__(self, *elements, **kw):
+ def __init__(
+ self, *elements: Tuple[_DDLColumnArgument, str], **kw: Any
+ ) -> None:
r"""
Create an :class:`.ExcludeConstraint` object.
from sqlalchemy.dialects.postgresql import ARRAY
from sqlalchemy.dialects.postgresql import array
from sqlalchemy.dialects.postgresql import DATERANGE
+from sqlalchemy.dialects.postgresql import ExcludeConstraint
from sqlalchemy.dialects.postgresql import insert
from sqlalchemy.dialects.postgresql import INT4RANGE
from sqlalchemy.dialects.postgresql import INT8MULTIRANGE
ident_str: Mapped[str] = mapped_column(UUID(as_uuid=False))
+ __table_args__ = (ExcludeConstraint((Column("ident_str"), "=")),)
+
elem = func.jsonb_array_elements(Test.data, type_=JSONB).column_valued("elem")