阅读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')
答案 0 :(得分:1)
每次更新模型时都会调用 __ register __ 方法,并且它用于更改当前模块的数据库结构。通常,tryton会为您创建所有缺少的字段(这是在 ModelSQL 类上完成的),但是某些操作无法自动检测,因此您必须为其编写迁移。这是在模型的 __ register __ 方法上完成的。
您复制的代码确保序列字段可以为空,如果不是,则将列从null更改为非null。