基于尚未创建的父级和父级的One2many条目的Many2many域

时间:2019-12-06 19:44:28

标签: python odoo odoo-9

我正在为Odoo v9创建一个模块,该模块将自定义行为添加到sale.order和sale.order.line模型中。

我制作了一个简单的模型(我们称其为 passenger ),该模型与 sale.order 处于One2many关系中,如下所示:

class SaleOrder(models.Model):
    _inherit = 'sale.order'
    passengers_ids = fields.One2many('passenger', 'order_id')

class passenger(models.Model):
    _name = 'passenger'
    order_id = fields.Many2one('sale.order')

将乘客添加到销售订单中的方式是通过常规的One2many列表。

另一方面,我在 sale.order.line 中创建了一个字段,用于存储与 passenger 的Many2many关系。像这样:

class SaleOrderLine(models.Model):
    _inherit = 'sale.order.line'
    passengers_ids = fields.Many2many('passenger')

您可以通过Many2many标签小部件将乘客添加到该字段中(尽管我认为这没有什么区别)。

我的问题出现在仍未创建销售订单(但正在处理表单)的情况下,这意味着销售订单,销售订单行和乘客仍然都是“ NewID”对象:
-我在One2many列表中创建了销售订单乘客,然后需要将其添加到订单行的Many2many字段中,仅按属于当前销售订单的那些乘客进行过滤(图片类似domain=[('order_id', '=', parent.id)] )。
问题是,直到我在销售订单上单击“保存”,然后再次编辑以将乘客添加到订单行后,此过滤器才适用。到目前为止,可以添加数据库中所有个已经存在的乘客。

我尝试了许多域过滤器,但似乎都无法正常工作,我隐约记得在一个错误报告中读到了类似的内容,该报告说确实存在问题,并且已在v11中修复,但是我想不起来是否是确实相同的问题。

任何对此的见识将不胜感激。

0 个答案:

没有答案