如何使用 serach 条件对 odoo 模型进行封装?
how to env odoo model with serach conditions?
我制作了一个名为零件号的模型,例如它包含零件号作为名称字段以及汽车和型号字段,
同样在 product.template 视图中,我添加了拖车场汽车和模型以及带有方法的按钮
打印包含相同汽车和型号的零件号
它运作良好,但如果我删除搜索条件,它不会给出任何结果,它会打印所有结果
这是代码
class autopart(models.Model):
_inherit = 'product.template'
@api.multi
@api.depends('car','model')
def partnum(self):
part=self.env['part_num'].search([('model_id', '=', 'model'),('car_id', '=', 'car')])
print(part)
pass
car = fields.Many2one(comodel_name="cars", store=True, string="Car", ondelete='restrict', required=False, )
model = fields.Many2one(comodel_name="models", store=True, string="Model", ondelete='restrict', required=False,default='', domain="[('car','=', car )]")
这是型号
class part_num(models.Model):
_rec_name = 'name'
_name = 'part_num'
name = fields.Char(string="name",required=True)
car_id = fields.Many2one(comodel_name="cars", string="car", required=False, )
model_id = fields.Many2one(comodel_name="models", string="model", required=False, )
嗨 Fouad 试试这个方法可能有效
part=self.env['part_num'].search([('model_id', '=', self.model.id),('car_id', '=', self.car.id)])
因为您使用 'car' odoo 将其视为名称而不是对象
我制作了一个名为零件号的模型,例如它包含零件号作为名称字段以及汽车和型号字段, 同样在 product.template 视图中,我添加了拖车场汽车和模型以及带有方法的按钮 打印包含相同汽车和型号的零件号 它运作良好,但如果我删除搜索条件,它不会给出任何结果,它会打印所有结果 这是代码
class autopart(models.Model):
_inherit = 'product.template'
@api.multi
@api.depends('car','model')
def partnum(self):
part=self.env['part_num'].search([('model_id', '=', 'model'),('car_id', '=', 'car')])
print(part)
pass
car = fields.Many2one(comodel_name="cars", store=True, string="Car", ondelete='restrict', required=False, )
model = fields.Many2one(comodel_name="models", store=True, string="Model", ondelete='restrict', required=False,default='', domain="[('car','=', car )]")
这是型号
class part_num(models.Model):
_rec_name = 'name'
_name = 'part_num'
name = fields.Char(string="name",required=True)
car_id = fields.Many2one(comodel_name="cars", string="car", required=False, )
model_id = fields.Many2one(comodel_name="models", string="model", required=False, )
嗨 Fouad 试试这个方法可能有效
part=self.env['part_num'].search([('model_id', '=', self.model.id),('car_id', '=', self.car.id)])
因为您使用 'car' odoo 将其视为名称而不是对象