ODOO的model的相关点滴

1.有两种方式,1.继承models.Model  2.继承osv.osv。(//TODO以后再研究有什么不同)

2.一个model的class对应一个实体entity表,创建model的时候,odoo会自动创建以下五个字段。

id (Id)the unique identifier for a record in its model

create_date (Datetime)creation date of the record

create_uid (Many2one)user who created the record

write_date (Datetime)last modification date of the record

write_uid (Many2one)user who last modified the record

3.特殊字段 name

在model里可以定义一个“name”的字段,用于系统的默认显示名称和搜索。在某些特定的场合下,可以通过重写_rec_name来重新定义。(//TODO这个)

4.•Fields

•basic

  1. •char, 
  2. •boolean, integer, float
  3. •date, time, datetime
  4. •binary

•selection, function, related

•relational

  1. •one2one
  2. •one2many
  3. •many2one
  4. •Many2many      

5.级联关系:

•ondelete

  1. •set null: 删除主记录时候,从记录到主记录的引用置为null。
  2. •set default: 删除主记录时候,从记录到主记录的引用置为缺省值。
  3. •cascade: 删除主记录时候,级联删除从记录。
  4. •restrict: 如果有从记录,不允许删除主记录。
  5. •no action: 不采取任何动作,即删除主记录,但保留从记录不变。

6.many2one是用来建立两个表之间的关联的,必须在子表里定义一个字段(实体表里也会生成这个字段),指向主表的model。

7.one2many是一个虚拟关系,定义了也不会在实体表里创建字段的。在主表里定义,指向明细表的model,并且必须指定明细表里定义的和主表相关联的字段。

8.many2many会创建一个两个实体表的主键的新的关联表。关联表为两个实体表名加_rel

如res_partner_res_partner_category_rel为res_partner和res_partner_category两个表的关联表。 

9.DOMAIN就是在Model定义字段的时候,同时可以定义相关的过滤条件。

猜你喜欢

转载自radzhang.iteye.com/blog/2273535
今日推荐