sqlalchemy_utils PasswordType数据库约束

时间:2019-07-09 12:01:18

标签: python flask sqlalchemy

我想知道是否有可能对sqlaclchemy_utils的PasswordType字段应用约束?

当前,我的约束不适用于此

class SomeModel(db.Model):

    password = db.Column(
        PasswordType(
            max_length=60,
            schemes=[
                'pbkdf2_sha512',
                'md5_crypt'
            ],
            deprecated=['md5_crypt']
        ),
        unique=False,
        nullable=False,
    )

    __table_args__ = (
        db.CheckConstraint('length("password") >= 7', name='password_min_length')

感谢您提供任何信息!

1 个答案:

答案 0 :(得分:0)

由于将约束应用于已存储在数据库中的值,并且PasswordType对哈希值进行哈希处理,因此约束将直接应用于哈希。因此,应该在其他地方(例如视图)使用验证,在该验证中,密码值仍未存储到数据库中,并且具有行表示形式。