sarra
sarra

Reputation: 21

What's the use of this function in tryton?

Reading code modules of Tryton, I met a lot this method but I did not figure out what this is for.

What's the use of this function in 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')

Upvotes: 1

Views: 263

Answers (1)

pokoli
pokoli

Reputation: 1065

The __register__ method is called every time the model is updated, and it's used to alter the database structure of the current module. Normally tryton, creates all the missing fields for you (this is done on ModelSQL class), but some actions are not possible to be detected automatically, so you must write a migration for it. This is done on the __register__ method of the model.

The code you copied ensures that the sequence field is nullable and if not, it alters the column from null to not null.

Upvotes: 1

Related Questions