Models¶
A model represents a single business logic or concept. It contains fields and defines the behaviors of the record. Most of the time, each model stores records in a single database table.
The basics:
Each model is a Python class that subclasses one of
trytond.model.model.Model
.Fields are defined as model attributes.
Tryton generates the table definitions
Tryton provides an API following the active record pattern to access the records.
Example¶
This example defines a Party
model which has a name
and a code
fields:
from trytond.model import ModelView, ModelSQL, fields
class Party(ModelSQL, ModelView):
"Party"
__name__ = "party.party"
name = fields.Char('Name')
code = fields.Char('Code')
The class must be registered in the Pool by the register()
method of the module.
Model classes are essentially data mappers to records and Model instances are
records.
Model attributes define meta-information of the model. They are class attributes starting with an underscore. Some model properties are instance attributes allowing to update them at other places in the framework.