如何在表单视图中显示另一个模型的一个字段

时间:2019-08-20 17:08:41

标签: odoo

我有一个自定义对象“ Car”,它与另一个对象“ Trips”有一个一对多的关系,该对象捕获了汽车的各种行程。我将行程添加到了汽车的窗体视图中,这样我就可以看到所有的行程每辆车。我在sale.order中创建了一个与“ Car”相关的自定义many2one字段,称为“ x_car”,并将其添加到sale.order表单视图中。现在,我也想添加一个one2many字段,该字段将显示在sale.order表单视图中选择汽车时的行车路线。我该如何实现?

我已经尝试在sale.order(trips,car_id)中创建一个one2many字段,并设置与x_car.trips相关的

我希望它会基于所选的x_car从Trips中提取所有记录,但它不会返回任何数据。我知道一个one2many关系通常基于object_id(在本例中为sale_order_id),但是有没有办法基于x_car?

1 个答案:

答案 0 :(得分:0)

您可以将计算的many2many字段用于此类目的:

class SaleOrder(models.Model):
    _inherit = "sale.order"

    car_id = fields.Many2one(comodel_name="car")
    trip_ids = fields.Many2many(
        comodel_name="trip", string="Trips",
        compute="_compute_trip_ids")

    @api.multi
    @api.depends('car_id')
    def _compute_trip_ids(self):
        for order in self:
            order.trip_ids = order.car_id.trip_ids.ids

我敢打赌,您的字段名称或与我的示例略有出入,但我始终尝试遵守Odoo准则。只需用您的名字代替它们;-)