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