【问题标题】:Show all One2Many model field in tree view - Odoo 11.0在树视图中显示所有 One2Many 模型字段 - Odoo 11.0
【发布时间】:2018-02-11 10:23:23
【问题描述】:

我有两个模型:

class Requisition(models.Model):
    '''
    This module is responsible for all of the requisition related operations.
    '''

    _name = 'mir.requisition'
    _description = 'Mir Requisition'

    name = fields.Char('Requisition Name', required=True)
    company_id = fields.Many2one('res.company', string='Company')
    requisition_line_ids = fields.One2many('mir.requisition.line', 'requisition_id', string='Requisition Line')


class RequisitionLine(models.Model):
    '''
        This module is responsible for all of the requisition line item related operations.
    '''
    _name = 'mir.requisition.line'
    _description = 'Mir Requisition Line'

    product_id = fields.Many2one(
        'product.product', 'Product', required=True)
    product_qty = fields.Float(
        'Quantity',
        digits=dp.get_precision('Product Unit of Measure'), default=0, required=True)
    product_uom_id = fields.Many2one(
        'product.uom', 'Unit of Measure',
        oldname='product_uom', required=True)
    delivery_date = fields.Date(string='Delivery Date', required=True)
    delivery_location = fields.Many2one('stock.location', 'Warehouse Location', required=True)
    requisition_id = fields.Many2one('mir.requisition', string='Mir Requisition Reference', index=True, ondelete='cascade')
    status = fields.Selection([
        ('draft', 'Draft'),
        ('in_progress', 'In Progress'),
        ('approved', 'Approved'),
        ('cancel', 'Cancel'),
    ], 'draft')

    @api.onchange('product_id')
    def _product_onchange(self):
        product = self.product_id
        self.product_uom_id = self.product_id.uom_id.id
        return {'domain': {'product_uom': [('category_id', '=', product.uom_id.category_id.id)]}}

和视图是:

 <!--Requisition Tree View-->
    <record id="mir_requisition_tree" model="ir.ui.view">
        <field name="name">Requisition</field>
        <field name="model">mir.requisition</field>
        <field name="arch" type="xml">
            <tree string="Requisition">
                <field name="name"/>
                <field name="company_id"/>
                <field name="create_uid" string="Created By"/>
                <field name="create_date" string="Created Date"/>
            </tree>
        </field>
    </record>

当前此视图显示父模型mir.requisition 的数据。但我想在一个视图中显示两个模型数据。任何帮助将不胜感激。

【问题讨论】:

    标签: python-3.x odoo odoo-10 odoo-11


    【解决方案1】:

    您应该查看 invoice_form definition,它适用于“account.invoice”和“account.invoice.line”模型。它是这样的:

    <!--Requisition Tree View-->
    <record id="mir_requisition_tree" model="ir.ui.view">
        <field name="name">Requisition</field>
        <field name="model">mir.requisition</field>
        <field name="arch" type="xml">
            <form string="Requisition">
                <field name="name"/>
                <field name="company_id"/>
                <field name="create_uid" string="Created By"/>
                <field name="create_date" string="Created Date"/>
                <field name="requisition_line_ids" nolabel="1" widget="one2many_list" >
                    <tree string="Requisition Lines" editable="bottom">
                        <!-- 'mir.requisition.line' fields -->
                    </tree>
                </field>
            </form>
        </field>
    </record>
    

    希望这个回答对你有帮助。

    【讨论】:

      猜你喜欢
      • 2018-05-09
      • 1970-01-01
      • 1970-01-01
      • 2018-04-03
      • 1970-01-01
      • 2020-04-13
      • 1970-01-01
      • 1970-01-01
      • 2018-12-21
      相关资源
      最近更新 更多