odoo-env-model

self.env

eg01:

res_course = self.env['xksystem.studentcourseline'].search(['&', ('student_id', '=', res.id),('coursecode', '=', self.id)])

说明:依据条件 ('student_id', '=', res.id)&('coursecode', '=', self.id) 获取模型xksystem.studentcourseline中的数据

 

eg02:

vals = {'linenumber': self.env['ir.sequence'].next_by_code('seq.test'), 'student_id': res.id,
    'course_id': self.id, 'coursecode':self.code,}
self.env['xksystem.studentcourseline'].sudo().create(vals)

说明:依据对应字段的值,创建对应规模性的数据

 api.model

model装饰器的作用是返回一个集合列表,一般用来定义自动化动作里面,该方法无ids传入

langs = fields.Selection(string="Lang",selection="_get_lang") 

@api.model
def _get_lang(self):
    langs = self.env['res.lang'].search([])
    return [(lang.code,lang.name) for lang in langs]

 自定按钮返回视图

@api.multi
    @api.model
    def button1(self):
        view_id = self.env.ref("kthrp_study.view_study_purchase_order_form").id #模块名.视图名
        response_dict = {
            'type': 'ir.actions.act_window',
            'res_model': 'study.purchase.order', #模型名称
            'view_type': 'form',
            'view_mode': 'tree,form',
            'target': 'current',
            'views': [(view_id, 'form')]
            # 'view_id': self.env.ref("kthrp_study.view_study_purchase_order_form").id
        }
        return response_dict

 

posted @ 2020-09-21 09:44  zjyss  阅读(178)  评论(0编辑  收藏  举报