【发布时间】:2018-02-23 11:12:26
【问题描述】:
我有一个包含一组非常复杂的业务规则的类。想象一下“如果字段 A 的值为 4,字段 B 的值为 True,则字段 C 必须是一个至少包含 2 个元素的数组”等等。
我试图阻止用户添加不遵守这些规则的此类的实例。所以验证应该在创建和更新时都发生。
我看到 SqlAlchemy 提供了 validate 方法,但是当验证包含多个字段时,设置起来有点过于复杂。
替代方案似乎是before_insert 和before_update 事件。在这种情况下,这是正确的解决方案,还是我有其他未考虑过的替代方案?
【问题讨论】:
-
数据库约束/触发器。
标签: python validation orm sqlalchemy flask-sqlalchemy