在tryton中使用此功能的原因是什么?

时间:2014-08-21 09:07:03

标签: python database python-2.7 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 个答案:

答案 0 :(得分:1)

每次更新模型时都会调用 __ register __ 方法,并且它用于更改当前模块的数据库结构。通常,tryton会为您创建所有缺少的字段(这是在 ModelSQL 类上完成的),但是某些操作无法自动检测,因此您必须为其编写迁移。这是在模型的 __ register __ 方法上完成的。

您复制的代码确保序列字段可以为空,如果不是,则将列从null更改为非null。