• Odoo models.py BaseModel


    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'
  • 相关阅读:
    软件设计中的分层模式, 三层开发遵循的原则,分层开发的特点和优势
    什么是jsp?
    在Servlet中如何如何获取请求的参数?
    Servlet的加载(执行过程,原理)和生命周期
    servlet的注册
    什么是servlet容器
    什么是Servlet
    如何访问动态页面——URL
    什么是C/S? Client/server的简写,这里Server指的是DBServer。
    MVC(Model-View-Controller)软件设计模式
  • 原文地址:https://www.cnblogs.com/dancesir/p/7026165.html
Copyright © 2020-2023  润新知