Какая польза от этой функции в 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__ модели.

Код, который вы скопировали, гарантирует, что поле последовательности обнуляется, а если нет, он изменяет столбец с нуля на нуль.

Другие вопросы по тегам