Я хочу проверить модель NDB. Моя модель что-то вроде:Ndb Проверка модели с взаимозависимыми свойствами?
class Sample(ndb.Model):
x = ndb.IntegerField()
y = ndb.IntegerField()
Я хочу, чтобы гарантировать, что х < у в любой момент времени.
подходов я попытался: функция Validator
Записи и вызов из перегруженной конструкторы. Но значения полей могут быть изменены позже. И он должен проверять каждый раз, когда он экономит
Добавить _pre_put_hook - но это кажется излишним. Плюс - это не выбросит ошибку, пока объект не будет на самом деле сохраняется в хранилище данных
В идеале я хочу, что всякий раз, когда или б изменяется - функция должна быть вызвана, которая будет проверять, если объект действителен еще ошибка выброса.
Примечание: В настоящее время я использую _pre_put_hook.
_pre_put_hook не является излишним. Я считаю его более подходящим, чем валидатор. Если вы измените критерии проверки и существующий объект больше не освобождается, вы не сможете получить его, так как проверка не завершится. –
Кроме того, гарантируя, что x
Спасибо Тим. Это очень помогло. –