Sqlalchemy 如何在sql alchemy中定义排除约束?
我的表格如下:Sqlalchemy 如何在sql alchemy中定义排除约束?,sqlalchemy,Sqlalchemy,我的表格如下: table_1 = Table( 'table_1', meta, Column('columnA', VARCHAR(128), ForeignKey("table1.id"), nullable=False), Column('ColumnB', BIGINT(), ForeignKey("table2.id"), nullable=False), Column
table_1 = Table(
'table_1', meta,
Column('columnA', VARCHAR(128), ForeignKey("table1.id"),
nullable=False),
Column('ColumnB', BIGINT(), ForeignKey("table2.id"),
nullable=False),
Column('ColumnC', SmallInteger(),
CheckConstraint('ColumnC > 0'),
default=1, nullable=False),
Column('ColumnD', DATERANGE(),
ExcludeConstraint(
("ColumnA", "="),
("ColumnB", "="),
("ColumnC", "="),
("ColumnD", '&&'),
name="unique_date_range_constraint",
using="gist"
), nullable=False
),
)
我想要实现的是,在表1中,对于相同的ColumnA ColumnB和ColumnC,ColumnD日期范围不能重叠。我可以在纯sql中实现这一点,但我正在试图找出如何在sql炼金术中实现这一点。尝试将约束作为参数传递给
表,而不是列。