• Odoo Model内容详解


    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826286.html

    一:Odoo模型属性

      1:_name

        模型的唯一标识:如果没有继承其他模型时,必须指定该属性。

      2:_rec_name

        模型记录对象的显示名,如设置该属性则返回其指定的字段的值作为对象的显示名;

        不设置则默认显示字段为name的字段值;

        如无name字段则显示"模块名,id";

        也可以重写_name_get()方法,自定义模型记录对象的拼接显示名。

      3:_log_access

        是否往模型增加日志字段(create_uidcreate_date,write_uidwrite_date),默认为True。

      4:_auto

        是否自动为该模型创建数据库表,默认为True,详见BaseModel._auto_init方法。


    _table:数据库对象名称。缺省时数据库对象名称与_name指定值相同(.替换为下划线)。
    _sequence:数据库id字段的序列。默认自动创建序列。
    _order:数据显示排序。所指定值为模型字段,按指定字段和方式排序结果集。

    例:_order = "create_date desc":根据创建时间降序排列。可指定多个字段。
    不指定desc默认升序排列;不指定_order默认id升序排列。

    _constraints:自定义约束条件。模型创建/编辑数据时触发,约束未通过弹出错误提示,拒绝创建/编辑。

    格式:_constraints = [(method, 'error message', [field1, ...]), ...]
    method:检查方法。返回True|False
    error message:不符合检查条件时(method返回False)弹出的错误信息
    [field1, ...]:字段名列表,这些字段的值会出现在error message中。

    _sql_constraints:数据库约束。

    例:_sql_constraints = [ ('number_uniq', 'unique(number, code)', 'error message') ]
    会在数据库添加约束:
    CONSTRAINT number_uniq UNIQUE(number, code)

    _inherit:单一继承。值为所继承父类_name标识。如子类不定义_name属性,则在父类中增加该子类下的字段或方法,不创建新对象;如子类定义_name属性,则创建新对象,新对象拥有父类所有的字段或方法,父类不受影响。

    格式:_inherit = '父类 _name'

    _inherits:多重继承。子类通过关联字段与父类关联,子类不拥有父类的字段或方法,但是可以直接操作父类的字段或方法。

    格式:_inherits = {'父类 _name': '关联字段'}

  • 相关阅读:
    《文献管理与信息分析》速看提问
    《构建之法(第三版)》速读提问
    《深入理解计算机系统》速读提问
    2017-2018-1 20179205《Linux内核原理与设计》第八周作业
    《从问题到程序》第一、二章学习
    2017-2018-1 20179205 第三周测试 汇编混合编程
    2017-2018-1 20179205《Linux内核原理与设计》第七周作业
    第三周main参数传递-1 课堂测试
    2017-2018-1 20179205《Linux内核原理与设计》第六周作业
    2017-2018-1 20179203 《Linux内核原理与分析》第八周作业
  • 原文地址:https://www.cnblogs.com/ygj0930/p/10826286.html
Copyright © 2020-2023  润新知