20191112学习情况

今天的学习内容:

  1. 基本字段的属性学习,Char,Integer,Text,Date,Float,Datetime,One2many,Many2one,Many2many
    属性主要有string=""是用来再前端页面进行展示,按照规定来说不使用中文;
    Char的size默认为64位;
    Date 和Datetime的区别,datetime包含年月日时分秒;
    Selection复选框,是一个元组列表的格式,元组里面的是两个字符串,前面的相当于是id,后面的字符串用来在页面上展示。
    One2many写出来会去查找与之相对应的Many2one,所以One2many与Many2one是一一对应的,但是Many2one不需要去查找One2many。
    readonly只读,required必填
  2. 菜单、动作、视图之间的关系
    20191112学习情况_第1张图片
    视图有tree和form两种,tree是列表,form是表单,可以在tree和kanban之间切换;
    动作,action还不大会用
  3. 简单对象、视图继承
    对象的继承:python的类名在使用过程中不起作用,起作用的是_name的名字,_inherit是继承,如果指定_name且值和继承对象的_name一样,则为同名继承,此时行为为扩充原有对象;如果指定_name且值和继承对象的_name不一样,则为异名继承,此时为重新声明一个新的对象。继承的感觉就像是一个对象被继承了几次,就像一间屋子有了几个门,修改的是同一个东西,知识有不同的名字。
    视图的继承:视图继承;培训的内容的position的值可以为after和replace,效果是:
                <xpath expr="//field[@name='website']" position="after">
                <!-- <xpath expr="//field[@name='website']" position="replace"> -->

@replace:标签内的xml节点会替换找到的具体节点
@after:标签内的xml节点会插入在找到的具体节点后面

20191112学习情况_第2张图片
20191112学习情况_第3张图片
20191112学习情况_第4张图片
20191112学习情况_第5张图片

@before:标签内的xml节点会插入在找到的具体节点后面
@inside:标签内的xml节点会作为找到的具体节点的子节点
@attributes:标签内使用attribute标签来改变找到节点的属性
以上三个还没试
6. 过滤器domain

<field name="is_chong"/>
<field name="chong" domain="[('is_chong','=',True)]" attrs="{'invisible':[('is_chong','=',True)],'required':[('is_chong','=',False)]}"/>

即只有当is_chong字段为True时,chong字段才会进行展示;attrs中,当is_chong为True时,chong字段时不可见的,is_chong为False时,chong字段高亮,表示该字段必填。
8. @api.constrains–约束
如果报错,则终止,from odoo.exceptions import ValidationError
@api.constrains('date1','date2')对date1和date2的有效性进行约束
9. @api.onchange–修改时触发
@api.onchange('date1','date2')在修改时触发被修饰的函数
11. 学习
XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的
用来查找field中name='website’的节点,并执行position的操作

你可能感兴趣的:(odoo学习)