Odoo- 如何使用一个 class 添加多个视图

Odoo- How to add multiple views using one class

我正在使用 Odoo 10-e。我为订单

创建了自定义 class
class Order(models.Model):
    _name = 'amgl.order'
    _description = 'Use this class to maintain all transaction in system.'

    name = fields.Char(string='Name',readonly=True)
    order_line = fields.One2many('amgl.order_line', 'order_id', string='Order Lines')
    total_qty = fields.Float(string='Total Expected')
    total_received_qty = fields.Float(string='Total Received Quantity')
    customer_id = fields.Many2one('amgl.customer', string='Customers', required=True)
    is_pending = fields.Boolean()
    date_opened = fields.Datetime('Date Opened', required=True)
    date_received = fields.Datetime('Date Received')

我还为此 class 创建了一个视图,它在树视图中显示所有记录。现在我想创建另一个名为 'Pending Orders' 的视图,我想在其中显示 is_pending 为真的所有顺序。我是新手,也许这就是为什么我无法在 Odoo 代码库中找到任何示例的原因。

为此,您无需创建新视图,只需创建新菜单和操作并使用域过滤记录。

 <record id="action2_...." model="ir.actions.act_window" >
         <field name="name"> Action Title </field>
        ....same as the first action...
          <field name="res_model">your.model</fiel>
         <field name="view_type">form</field>
         <field name="view_mode">tree,form</field>
        <field name="domain">[('is_pending', '=', True)] </field>
   </record> 

   <menuitem .....  action="action2_.." />

注意:动作可以具有 domaincontextview_idsearch_view_idview_ids 等属性,最好的学习方法是阅读它们并查看 odoo 中的代码。