下面是我的代码: 我也尝试过放置反场,但这也不起作用。另外,我无法创建另一个继承 sale.order 的类,因为这是 transient 模型,所以这不起作用。请帮忙,我是 odoo 新手。
class WizardDraft(models.TransientModel):
_name = 'wizard.draft'
sale_order_lines = fields.One2many('sale.order', compute="_compute_sale_orders")
@api.model
def _compute_sale_orders(self):
self.sale_order_lines = self.env['sale.order'].search([('state', '=', 'draft')])
最佳答案
You cannot use One2Many relation of Models(models.Model) in Transient Model(models.TransientModel) because Transient model stores data temporarily and it flushes out. So Many2one you create in Transient Model is not a good idea.
因此,在这种情况下,您可以在 Transient model(wizard.draft) 中使用 Model(sale.order) 的 Many2many 并使其成为计算字段。
class WizardDraft(models.TransientModel):
_name = 'wizard.draft'
sale_order_lines = fields.Many2many('sale.order', compute="_compute_sale_orders")
@api.model
def _compute_sale_orders(self):
self.sale_order_lines = self.env['sale.order'].search([('state', '=', 'draft')])
关于javascript - 如何在 one2many odoo 13 上触发计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61522336/