我一直在使用flask中的sqlalchemy.orm中的@ validate装饰器来验证字段,只要所有字段彼此独立,一切都很顺利,例如:
@validates('field_one')
def validates_field_one(self, key, value):
#field one validation
@validates('field_two')
def validates_field_two(self, key, value):
#field two validation
然而,现在我需要做一些验证,这将需要同时访问field_one和field_two。看起来validates接受了validates装饰器的多个参数,但是,它只会为每个参数运行一次验证函数,如下所示:
@validates('field_one', 'field_two')
def validates_fields(self, keys, values):
#field validation
这将导致先验证field_one,然后验证field_two的工作流。然而,我想同时验证这两者(一个简单的例子是断言field_one的值不是field_two的值,一个例子是禁止图中的自循环,其中field_one和field_two引用节点,并且它在边上执行验证)。怎样做才是最好的方式呢?
https://stackoverflow.com/questions/32555829
复制相似问题