Я использовал декоратор @validates в sqlalchemy.orm из фляги для проверки полей, и все прошло хорошо, пока все поля не зависят друг от друга, например:
@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('field_one', 'field_two')
def validates_fields(self, keys, values):
#field validation
Результаты в потоке работы для проверки поля field_one, а затем подтвердите значение field_two. Тем не менее, я хотел бы подтвердить оба одновременно (тривиальный пример того, что было бы утверждать, что значение field_one не является значением field_two, примером которого было бы запрещение self-loops в графе, где field_one и field_two обратитесь к узлам и выполняйте проверку на ребре). Как будет лучший способ сделать это?