我希望防止所选记录再次显示在组合框中。

正如您所看到的,在我之前选择了该记录之后,710 - Maleo显示再次出现。
One2many字段的字段声明
class RMReservationOrderLine(models.Model):
_name = "rm.reservation.order.line"
_description = "Reservation Order Line"
room_line_ids = fields.One2many('rm.reservation.room.line', 'order_id', string='Rooms')One2many字段的模型类
class RMReservationRoomLine(models.Model):
_name = "rm.reservation.room.line"
_description = "Reservation Room Line"
order_id = fields.Many2one('rm.reservation.order.line', string='Order', required=True, ondelete='cascade')
room_id = fields.Many2one('rm.room', string='Room', required=True)更新
因为我的One2many字段的模型类只有一个字段,room_id,所以我只是将One2many字段更改为Many2many。因为默认情况下,Many2many字段防止重复记录。

但是,如果我使用One2many字段,那么我仍然想知道如何防止重复记录,以防One2many的模型类中有超过一个字段。
发布于 2021-12-21 15:41:47
我觉得这案子跟你想要的一样。
我已经修改了销售订单,所以当销售订单行中的产品已经被选中时,产品将不会再次显示在选定的产品中。
我使用了odoo-14并继承了sales.order.line,并将函数product_id_change()修改为:
@api.onchange('product_id')
def product_id_change(self):
values = super(SaleOrderLine, self).product_id_change()
filter_product_ids = [data.product_id.id for data in self.order_id.order_line]
if values is None:
values = {}
values['domain'] = {'product_id' : [('id', 'not in', filter_product_ids)]}
return valueshttps://stackoverflow.com/questions/70435234
复制相似问题