使用sqlalchemy中的check来创建唯一约束

时间:2015-03-30 20:51:17

标签: sqlalchemy flask-sqlalchemy

请告诉我,如何通过检查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)

0 个答案:

没有答案