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