/usr/share/doc/tryton-server-doc/html/_sources/topics/models/index.rst.txt is in tryton-server-doc 4.6.3-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | .. _topics-models:
======
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
:class:`trytond.model.model.Model`.
* :ref:`Fields <ref-models-fields>` are defined as model attributes.
* Tryton generates the table definitions
* Tryton provides an API following the `active record pattern`_ to access the records.
.. _active record pattern: http://en.wikipedia.org/wiki/Active_record
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 :ref:`Pool <ref-pool>` by the `register()`
method of the :ref:`module <topics-modules>`.
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.
|