如何在现有模块的“高级搜索”中添加自定义模块搜索?

2024-04-28 12:49:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个模块来跟踪自定义硬件锁设备(加密狗)。所有的一切都很好,除了我被困在尝试如何添加能力,以添加自定义模块到高级过滤器,以便我们可以搜索有一个特定系列的加密狗与他们相关联的客户。在

这是我的简历_伙伴在

from osv import fields, osv   

class res_partner(osv.osv):
    """ Inherits partner and adds CRM information in the partner form """
    _inherit = 'res.partner'

def _dongle_count(self, cr, uid, ids, field_name, arg, context=None):
    res = dict(map(lambda x: (x,0), ids))
    # The current user may not have access rights for sale orders
    try:
        for partner in self.browse(cr, uid, ids, context):
            res[partner.id] = len(partner.sale_order_ids)
    except:
        pass
    return res

_columns = {
    'dongle_count': fields.function(_dongle_count, string='# of Dongles', type='integer'),
    'dongle_ids': fields.one2many('dongle', 'partner_id', 'Dongles')
}

资源合作伙伴()

还有我的搭档_视图.xml在

^{pr2}$

在查看了包含此功能的其他模块之后,我似乎无法确定我还应该添加哪些内容才能使我的新模块显示在“高级搜索”下拉列表中。在


Tags: 模块inselfidsfieldsforpartneruid
1条回答
网友
1楼 · 发布于 2024-04-28 12:49:47

如果要通过加密狗计数字段进行搜索,则必须将此值存储在数据库中。 为了在数据库中存储函数字段值,需要在例如的fields属性中定义store=True参数

“加密狗计数”:字段.函数(\u加密狗计数,string='\'of dongle',type='integer',store=True)

干杯, 卡拉丽娅·哈迪克 对于,技术接待

相关问题 更多 >