Odoo学习Day4-自建应用进阶

  • 首先使用脚手架创建bm-advanced
./odoo-bin scaffold bm-advanced my-modules
  • 创建三个模型,bugstage.py bugtag.py bug_adv.py

fields字段基本类型

# -*- coding: utf-8 -*-
from odoo import models, fields, api

class BugStage(models.Model):
    # 下划线开头的为模型属性
    _name = 'bm.bug.stage'
    _description = 'bug阶段'
    _order = 'sequence, name'
    
    # 字符串类型
    # Char类型关键字:size,限制最大长度
    name = fields.Char('名称') 
    desc_detail = fields.Text('描述')
    # Selection类型 (items, string)
    status = fields.Selection([('waiting','未开始'), ('doing', '进行中'), ('closed', '已关闭'), ('rework', '重测未通过')], '状态') 
    document = fields.Html('文档')

    sequence = fields.Integer('sequence')
    # Float类型(string, 精度)
    percent_pro = fields.Float('进度', (3, 2))

    deadline = fields.Date('最晚解决日期')
    # DateTime类型,default默认值,此处使用lambda函数给出
    create_on = fields.Datetime('创建时间', default=lambda self:fields.Datetime.now())
    
    delay = fields.Boolean('是否延误')
    
    image = fields.Binary('图片')

最后一步创建视图失败,不知错误原因,跳过此段,过后再回头处理

odoo.tools.convert.ParseError: "Cannot update missing record 'bug-manage.form2'" while parsing /home/odoo/odoo/my-modules/bm-advanced/views/bugs_adv.xml:3, near
<record model="ir.ui.view" id="bug-manage.form2">
            <field name="name">bug表单2</field>
            <field name="model">bm.bug</field>
            <field name="inherit_id" ref="bug-manage.form"/>

            <field name="arch" type="xml">
                <field name="follower_id" position="after">
                    <field name="stage_id"/>
                    <field name="tag_ids"/>
                </field>
            </field>
        </record> - - -

  • 装饰器

记录集 @api.multi
计算字段 @api.depends
评估检查 @api.constraints
自动更新 @api.onchange

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。