Какая польза от этой функции в tryton?
Читая программные модули Tryton, я много встречал этот метод, но я не понял, для чего это нужно.
Какая польза от этой функции в Tryton?
@classmetod
def __register__(cls,module_name):
TableHandler = backend.get('TableHandler')
cursor = Transaction().cursor
table = TableHandler(cursor,cls,module_name)
super(Adress,cls).__register__(module_name)
table.not_null_action('sequence', action='remove')
1 ответ
Метод __register__ вызывается при каждом обновлении модели и используется для изменения структуры базы данных текущего модуля. Обычно tryton создает все недостающие поля для вас (это делается в классе ModelSQL), но некоторые действия невозможно обнаружить автоматически, поэтому вы должны написать миграцию для него. Это делается с помощью метода __register__ модели.
Код, который вы скопировали, гарантирует, что поле последовательности обнуляется, а если нет, он изменяет столбец с нуля на нуль.