Python 许多域基于尚未创建的父级和父级';有很多条目吗
我正在为Odoo v9制作一个模块,该模块将自定义行为添加到sale.order和sale.order.line模型中 我制作了一个简单的模型(我们称之为passenger),它与sale.order有一个2个多的关系,如下所示:Python 许多域基于尚未创建的父级和父级';有很多条目吗,python,odoo,odoo-9,Python,Odoo,Odoo 9,我正在为Odoo v9制作一个模块,该模块将自定义行为添加到sale.order和sale.order.line模型中 我制作了一个简单的模型(我们称之为passenger),它与sale.order有一个2个多的关系,如下所示: class SaleOrder(models.Model): _inherit = 'sale.order' passengers_ids = fields.One2many('passenger', 'order_id') class passen
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中创建了一个字段,它存储了与乘客的许多关系。像这样:
class SaleOrderLine(models.Model):
_inherit = 'sale.order.line'
passengers_ids = fields.Many2many('passenger')
您可以通过一个多标签小部件将乘客添加到此字段(尽管我认为这没有任何区别)
我的问题出现在销售订单尚未创建(但表单正在处理)时,这意味着销售订单、销售订单行和乘客仍然是“NewID”对象:-我在One2many列表中创建销售订单乘客,然后需要能够将他们添加到订单行的Many2many字段中,只按属于当前销售订单的乘客进行过滤(图片类似于
domain=[('order\u id','=',parent.id)]
)。
问题是,在我点击销售订单上的“保存”,然后再次编辑以将乘客添加到订单行之前,此筛选器不适用。到那时为止,数据库中已有的所有乘客都可以添加 我尝试过许多域过滤器,但似乎都不起作用,我隐约记得在一份bug报告中读到类似的内容,其中说这确实是一个问题,并且在v11中得到了修复,但我不太记得它是否真的是同一个问题
如果您对此有任何了解,我们将不胜感激。在处理当前表单视图时,只有m2m字段将记录保存到数据库中。试着巧妙地使用它,我可以想出一些技巧,但需要大量的解释和测试,而这些都不是一个简单的答案所能做到的。只要尝试使用
Many2many
relationshipOnly m2m字段在处理当前表单视图时将记录保存到数据库,就可以实现这一点。试着巧妙地使用它,我可以想出一些技巧,但需要大量的解释和测试,而这些都不是一个简单的答案所能做到的。只要试着用Many2many
关系找到一种实现这一点的方法