Зависимость проверки схемы Cerberus в зависимости от собственного значения

Я знаю, что согласно документации Cerberus, можно определить зависимости проверки в соответствии с другими значениями ключей, такими как:

schema = {'field1': {'required': False}, 
          'field2': {'required': True, 
                     'dependencies': {'field1': ['one', 'two']}}}

Где field2 допустимо, только если field1 существует и имеет значение one или two.

Я хотел бы знать, есть ли способ иметь правило проверки, которое считается в зависимости от значения самого ключа.

Что-то вроде: field2 нужно field1 значение False, только если field2 значение равно True, и наоборот.

Только одно из полей должно иметь значение True одновременно.


person gcw    schedule 28.06.2016    source источник


Ответы (1)


Вероятно, это можно решить, используя dependencies в сочетании с oneof (документы) правило.

Однако в настоящее время существует проблема, которая может помешать работе этого решения (билет). К сожалению, у меня нет времени, чтобы проверить это прямо сейчас, но вы можете попробовать и сообщить об этом здесь и, в конечном итоге, о самом билете. Удачи!

person Nicola Iarocci    schedule 03.07.2016
comment
Я попробую и дам вам знать. Спасибо. - person gcw; 03.07.2016
comment
Да, я думаю, что я столкнулся с проблемой, которую вы упомянули. Я прокомментировал там свои выводы - person gcw; 04.07.2016