SQLAlchemy 文档解释了如何使用 @validates 装饰器向模型添加验证。
from sqlalchemy.orm import validates
class EmailAddress(Base):
__tablename__ = 'address'
id = Column(Integer, primary_key=True)
email = Column(String)
@validates('email')
def validate_email(self, key, address):
assert '@' in address
return address
我有一个包含两个日期的模型,我想创建一个验证器,确保一个日期始终大于第二个日期。是否可以创建模型级验证器?如果是这样,语法是什么?
这是验证器的一个小例子。
您可以在模型声明中使用 CheckConstraint。或者您可以使用 @validates 装饰器。但 SQLAlchemy 将针对第一个参数中的每个名称调用此函数。
@validates('started_at', 'stopped_at')
def do_validation(self, key, field):
return field
请检查此代码:https://gist.github.com/matrixise/6417293 https://gist.github.com/matrixise/6417293
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)