【问题标题】:Odoo - search_default does not work?Odoo - search_default 不起作用?
【发布时间】:2014-08-21 07:35:23
【问题描述】:

我在合作伙伴表单中创建了按钮以显示与它的另一个模型关系。它与合作伙伴表单上的机会、会议、销售按钮等相同的按钮显示其所有机会、会议、销售等。

代码如下:

型号:

from openerp import models, fields
from openerp import api
class res_partner(models.Model):
    _inherit = 'res.partner'

    service_ids = fields.One2many('calendar.service', 'partner_id', 'Calendar Services')
    service_count = fields.Integer('Services', compute='_count_services')

    @api.one
    @api.depends('service_ids')
    def _count_services(self):
        self.service_count = len(self.service_ids)

行动:

    <record id="action_calendar_service" model="ir.actions.act_window">
        <field name="name">Services</field>
        <field name="res_model">calendar.service</field>
        <field name="view_mode">tree,calendar,form</field>
        <field name="view_id" ref="view_calendar_service_tree"/>
        <field name="search_view_id" ref="view_calendar_service_search"/>
        <field name="help" type="html">
          <p class="oe_view_nocontent_create">
            Click to create new service.
          </p>
        </field>
    </record>

查看:

    <record id="view_partners_form_service1" model="ir.ui.view">
        <field name="name">view.res.partner.form.crm.inherited1</field>
        <field name="model">res.partner</field>
        <field name="inherit_id" ref="crm.view_partners_form_crm1"/>
        <field eval="18" name="priority"/>
        <field name="arch" type="xml">
                <button name="schedule_meeting" position="after">
                    <button
                        class="oe_inline oe_stat_button"
                        attrs="{'invisible': [('customer', '=', False)]}"
                        name="%(calendar_service.action_calendar_service)d"
                        icon="fa-star"
                        type="action"
                        context="{'search_default_partner_id': active_id}">
                        <field name="service_count" string="Services" widget="statinfo"/>
                    </button>
                </button>
        </field>
    </record>

除了一件事之外,该按钮的所有功能都可以使用。它不会使用partner_id(按下按钮的那个)过滤结果,它会打开所有“calendar.service”记录。但它应该只显示来自该特定合作伙伴的那些。 context="{'search_default_partner_id': active_id}"&gt; 需要更多东西吗?我在这里错过了什么?

【问题讨论】:

    标签: view openerp odoo


    【解决方案1】:

    终于找到了丢失的东西。我需要添加这一行:

    &lt;field name="partner_id" filter_domain="[('partner_id','child_of',self)]"/&gt;

    在我的模型搜索视图中。没有它就不会使用 search_default 过滤器。

    【讨论】:

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