zoukankan      html  css  js  c++  java
  • 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'
  • 相关阅读:
    AES密码算法详解(转自https://www.cnblogs.com/luop/p/4334160.html)
    快速排序和插入排序——我的代码
    北京大学1001ACM——高精度类型题总结
    C语言数组不知道输入几个整数以及输入一直到为0
    C语言并查集例子——图问题巧用parent[]数组
    C语言快速判断素数——不超时
    C语言如何才能使用bool类型
    C语言两个特别大的整数类型相加超出范围使用两个技巧
    C语言存30位数字长的十进制方法
    dockerfile相关命令
  • 原文地址:https://www.cnblogs.com/dancesir/p/7026165.html
Copyright © 2011-2022 走看看