请告诉我,如何通过检查sqlalchemy来创建唯一约束。
我有唯一字段 sku
的表格,但我不会从db中删除对象。我只是通过字段is_removed
标记它,因此当数据库中存在相同sku
但已删除的对象(is_removed = True)时,我无法创建具有相同sku
的新对象
我想用sqlalchemy中的check来创建唯一约束,但我不知道如何。
这样的事情:
class Model(db.Model):
#but only when is_removed == False. How do write this?
__table_args__ = (UniqueConstraint('is_removed', 'sku',),)
id = db.Column(db.Integer, primary_key=True)
sku = db.Column(db.String(100), nullable=False)
is_removed = db.Column(db.Boolean, default=False)