阅读 72

odoo12 一些基本API

class EpidemicRecord(models.Model):
    _name = epidemic.record  # 表名
    name = fields.Char(string=姓名)  # string是用于前端显示的名字
    date = fields.Date(string=确诊日期)
    state = fields.Char(string=)
    city = fields.Char(string=)
    county = fields.Char(string=区/街道)
    street = fields.Char(string=具体地址)
    ill_type = fields.Char(string=感染方式)
    within_or_abroad = fields.Selection([(within, 境内), (abroad, 境外)], string=境内/境外感染)  # 枚举类型
    is_ill = fields.Boolean(string=是否确诊, default=False)
    begin_lsolation_date = fields.Date(string=起始隔离时间)
    lsolation_mode = fields.Selection([(home, 居家隔离), (focus, 集中隔离)], string=隔离方式)
    create_user_id = fields.Many2one(res.users, string=填报人,
                                     default=lambda self: self.env.uid)  # 外键关联,default是默认内容,这个函数的意思是默认值为当前登录用户
    fuzhu_create_user_id = fields.Many2many(res.users, epidemic_2_user, column1=epidemic_id, column2=user_id,
                                            string=辅助填报人)
    note = fields.Text(string=说明)

    @api.model
    def create(self, vals_list):
        """新建的时候会调用"""
        res = super(EpidemicRecord, self).create(vals_list)
        return res

    @api.onchange(name, state, is_ill, within_or_abroad)
    def onchange_note(self):
        """
        用于监听前端数据的改动,实时返回内容。类似于前端js的change操作
        函数名可以自定义
        @api.onchange(‘name‘, ‘state‘, ‘is_ill‘, ‘within_or_abroad‘) 这里面写的就是需要监听的字段
        self.note 这个是就是要根据内容改变而变动的字段
        """
        self.note = f{self.state}省的{self.name}{"确诊" if self.is_ill else "隔离"}

    @api.multi
    def unlink(self):
        """删除的时候会调用"""
        res = super(EpidemicRecord, self).unlink()
        return res

    @api.multi
    def myserch(self):
        """自定义按钮"""
        domain = [
            (is_ill, =, True)
        ]
        res = self.search(domain)
        print(res)

自定义按钮

 
    <record id="repidemic_record_form_view" model="ir.ui.view">
        <field name="name">疫情记录field>
        <field name="model">epidemic.recordfield>

        <field name="arch" type="xml">
            <form>

                <sheet>
                    <header>

                        <button string="测试" type="object" name="myserch"/>
                    header>
                    <group>
                        <group>
                            <field name="name"/>
                            <field name="is_ill" required="1"/>
                            <field name="date"
                                   attrs="{‘invisible‘:[(‘is_ill‘,‘=‘,False)],‘required‘:[(‘is_ill‘,‘=‘,True)]}"/>
                            <field name="ill_type"
                                   attrs="{‘invisible‘:[(‘is_ill‘,‘=‘,False)],‘required‘:[(‘is_ill‘,‘=‘,True)]}"/>
                            <field name="within_or_abroad"
                                   attrs="{‘invisible‘:[(‘is_ill‘,‘=‘,False)],‘required‘:[(‘is_ill‘,‘=‘,True)]}"/>
                            <field name="begin_lsolation_date"
                                   attrs="{‘invisible‘:[(‘is_ill‘,‘=‘,True)],‘required‘:[(‘is_ill‘,‘=‘,False)]}"/>
                            <field name="lsolation_mode"
                                   attrs="{‘invisible‘:[(‘is_ill‘,‘=‘,True)],‘required‘:[(‘is_ill‘,‘=‘,False)]}"/>
                        group>
                        <group>
                            <field name="state"/>
                            <field name="city"/>
                            <field name="county"/>
                            <field name="street"/>
                            <field name="create_user_id" readonly="1"/>
                            <field name="fuzhu_create_user_id" widget="many2many_tags"
                                   options="{‘no_create‘:True,‘no_edit‘:True}"/>
                        group>
                    group>
                    <notebook>
                        <page string="说明">
                            <field name="note"/>
                        page>
                    notebook>
                sheet>
            form>
        field>
    record>

 

原文:https://www.cnblogs.com/wtil/p/15102688.html

文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐