class BaseModel(object):
""" Base class for OpenERP models.
OpenERP models are created by inheriting from this class' subclasses:
\* :class:\`Model\` for regular database-persisted models 常用数据库模型
\* :class:\`TransientModel\` for temporary data, stored in the database but
automatically vacuumed every so often 临时模型
\* :class:\`AbstractModel\` for abstract super classes meant to be shared by
multiple inheriting model 抽象模型 不保存
The system automatically instantiates every model once per database. Those
instances represent the available models on each database, and depend on
which modules are installed on that database. The actual class of each
instance is built from the Python classes that create and inherit from the
corresponding model.
Every model instance is a "recordset", i.e., an ordered collection of
records of the model. Recordsets are returned by methods like
:meth:\`~.browse\`, :meth:\`~.search\`, or field accesses. Records have no
explicit representation: a record is represented as a recordset of one
record.
To create a class that should not be instantiated, the \_register class
attribute may be set to False.
"""
\_\_metaclass\_\_ = MetaModel
\_auto = True # create database backend
\_register = False # Set to false if the model shouldn't be automatically discovered.
\_name = None
\_columns = {}
\_constraints = \[\]
\_custom = False
\_defaults = {}
\_rec\_name = None
\_parent\_name = 'parent\_id'
\_parent\_store = False
\_parent\_order = False
\_date\_name = 'date'
\_order = 'id'
\_sequence = None
\_description = None
\_needaction = False
\_translate = True # set to False to disable translations export for this model
# dict of {field:method}, with method returning the (name\_get of records, {id: fold})
# to include in the \_read\_group, if grouped on this field
\_group\_by\_full = {}
# Transience
\_transient = False # True in a TransientModel
# structure:
# { 'parent\_model': 'm2o\_field', ... }
\_inherits = {}
# Mapping from inherits'd field name to triple (m, r, f, n) where m is the
# model from which it is inherits'd, r is the (local) field towards m, f
# is the \_column object itself, and n is the original (i.e. top-most)
# parent model.
# Example:
# { 'field\_name': ('parent\_model', 'm2o\_field\_to\_reach\_parent',
# field\_column\_obj, origina\_parent\_model), ... }
\_inherit\_fields = {}
\_table = None
\_log\_create = False
\_sql\_constraints = \[\]
# model dependencies, for models backed up by sql views:
# {model\_name: field\_names, ...}
\_depends = {}
CONCURRENCY\_CHECK\_FIELD = '\_\_last\_update'
手机扫一扫
移动阅读更方便
你可能感兴趣的文章