【问题标题】:Odoo specific form view on many2many fieldmany2many 字段上的 Odoo 特定表单视图
【发布时间】:2017-07-18 08:27:45
【问题描述】:

我有 many2many 字段:

supply_ids = fields.Many2many(comodel_name='supply.conditions',
                                          relation='purchase_supply_rel',
                                          column1='purchase_requests_id', column2='supply_conditions_id',
                                          string='Supply Conditions')

还有一段xml

 <page string="Order">
        <field name="supply_ids"/>
 </page>

我只有一个 supply.conditions 表单视图,但我想创建另一个(字段较少)并在 supply_ids 字段单击显示:

"Add object" -> "Create"

我不知道“添加对象”单击时调用了什么方法,或者如何在“添加对象”->“创建”按钮上选择特定的表单视图..

【问题讨论】:

    标签: python python-2.7 view openerp odoo-9


    【解决方案1】:

    用like创建第二个表单视图

    <record id="view_supply_conditions_form2" model="ir.ui.view">
        <field name="name">...</field>
        <field name="model">supply.conditions</field>
        <field name="priority">17</field>
        <field name="arch" type="xml">
            <!-- and so on -->
        </field>
    </record>
    

    然后在你的字段中使用上下文调用它:

    <page string="Order">
        <field name="supply_ids"
            context="{'form_view_ref':'my_module.view_supply_conditions_form2'}"/>
    </page>
    

    编辑:

    列表和搜索视图对应的上下文键是tree_view_refsearch_view_ref

    感谢@Fractalf

    【讨论】:

    • 谢谢!我想补充一点,如果要以不同方式显示的字段是树视图,则必须使用tree_view_ref,同样使用搜索视图:search_view_ref
    • 我们如何为 m2m 字段的每个不同行设置表单视图的引用?
    • @Naitik 我认为这是不可能的。另一种方法是影响表单视图外观的行上的某个字段。因此,假设它们是一个字段“type”,它在值“type1”上显示一些字段,但隐藏其他字段,同样隐藏其他值。它将是相同的表单视图,但具有其他外观,具体取决于“类型”字段。
    【解决方案2】:

    我找到了解决方案,在字段中添加了上下文:

     <page string="Order">
            <field name="supply_ids" context="{'form_view_ref':'my_app_name.view_supply_conditions_form'}"/>/>
     </page>
    

    view_supply_conditions_form - 新表单视图

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-09
      • 1970-01-01
      相关资源
      最近更新 更多