Orm 如何在同一型号的多个字段中使用一个字段的虚拟记录
在销售订单表单中,我添加了一个名为Orm 如何在同一型号的多个字段中使用一个字段的虚拟记录,orm,odoo,odoo-12,Orm,Odoo,Odoo 12,在销售订单表单中,我添加了一个名为booking\u id的one2many字段,该字段显示在可编辑树视图中 在订单行树中,我添加了一个名为booking\u id的多个单列,因此每个订单行都有一个booking\u id 在sale.order的编辑模式或创建模式下,如何才能显示在多个字段中的booking\u id字段中添加的虚拟记录,该字段仅显示数据库中的记录,而不显示正在创建的虚拟记录 class SaleOrder(models.Model): _inherit = 'sale
booking\u id
的one2many字段,该字段显示在可编辑树视图中
在订单行树中,我添加了一个名为booking\u id
的多个单列,因此每个订单行都有一个booking\u id
在sale.order
的编辑模式或创建模式下,如何才能显示在多个字段中的booking\u id
字段中添加的虚拟记录,该字段仅显示数据库中的记录,而不显示正在创建的虚拟记录
class SaleOrder(models.Model):
_inherit = 'sale.order'
booking_ids = fields.One2many('sale.booking', 'order_id', string='Bookings')
class SaleOrderLine(models.Model):
_inherit = 'sale.order.line'
booking_id = fields.Many2one('sale.booking', string="Booking")
class Booking(models.Model):
_name = 'sale.booking'
event_id = fields.Many2one('sale.event', String='Event', required=True,
states={'draft': [('readonly', False)], 'sent': [('readonly', False)]})
name = fields.Char(compute='_get_name')
event_date = fields.Date(string='Event Date')
order_id = fields.Many2one('sale.order', string='Order Reference', ondelete='cascade', index=True, copy=False, readonly=True)
order_line_ids = fields.One2many('sale.order.line', 'booking_id', string='Order Lines')
XML
感谢您在Python代码中使用预加载。这将解决您的问题。您能分享您迄今为止编写的代码吗?代码现在就在那里,我想要实现的是一个动态的manyOne列表,其中显示了在one2many树中创建的相同格式的记录。什么是预加载?您可以用一个示例进一步解释一下吗。。。非常感谢。
<xpath expr="//field[@name='payment_term_id']/.." position="after">
<group>
<field name="booking_ids">
<tree editable="bottom">
<field name="event_id"/>
<field name="event_date" string="Date"/>
<field name="order_line_ids" widget="many2many_tags" readonly="1"/>
</tree>
</field>
</group>
</xpath>
<xpath expr="//tree//field[@name='product_id']" position="after">
<field name="order_id" invisible="1"/>
<field name="booking_id" domain="['|', ('order_id', '=', None), ('order_id', '=', order_id)]"/>
</xpath>
<xpath expr="//field[@name='order_line']//field[@name='product_id']/.." position="after">
<field name="order_id" invisible="1"/>
<field name="booking_id" domain="['|', ('order_id', '=', None), ('order_id', '=', order_id)]"/>
</xpath>