from odoo import fields, models, api class ModelType(models.Model): _name = 'sf.model.type' _description = '模型类型' name = fields.Char('名称') routing_tmpl_ids = fields.One2many('sf.model.type.routing.sort', 'model_type_id', '工序模板') class ResMrpRoutingWorkcenter(models.Model): _inherit = 'mrp.routing.workcenter' is_repeat = fields.Boolean('重复', default=False) workcenter_id = fields.Many2one('mrp.workcenter', required=False) workcenter_ids = fields.Many2many('mrp.workcenter', 'rel_workcenter_route', required=True) bom_id = fields.Many2one('mrp.bom', required=False) # 获得当前登陆者公司 def get_company_id(self): self.company_id = self.env.user.company_id.id company_id = fields.Many2one('res.company', compute="get_company_id", related=False) class ModelTypeRoutingSort(models.Model): _name = 'sf.model.type.routing.sort' _description = '工序排序' sequence = fields.Integer('Sequence') route_workcenter_id = fields.Many2one('mrp.routing.workcenter') is_repeat = fields.Boolean('重复', related='route_workcenter_id.is_repeat') workcenter_ids = fields.Many2many('mrp.workcenter', required=False, related='route_workcenter_id.workcenter_ids') model_type_id = fields.Many2one('sf.model.type') _sql_constraints = [ ('route_model_type_uniq', 'unique (route_workcenter_id,model_type_id)', '工序不能重复!') ]