SQLAlchemy文档说明如何使用@validates装饰器向模型添加验证。两个字段的sqlalchemy验证程序
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
我有一个有两个日期的模型,我想创建一个验证器,以确保一个日期总是大于第二个日期。是否可以创建模型级别验证器?如果是的话,语法是什么?
为什么你就不能验证一个,并确保它符合其他要求?例如。 '断言self.repeat_email ==地址'或类似的? – javex
这可能可行,但我需要在初始化期间捕获任何问题。我真的更愿意为每个字段定义一些验证器,并使用行验证器来确定这些字段是否创建了有效状态。它只是感觉更加明确和可行,在一个地方进行行验证,而不是散布在不同的现场验证器中。 – danatron