我需要在我的观点中列出合作伙伴,因此我使用了模型'res.partner'。
<record id="view_res_partner_tree" model="ir.ui.view">
<field name="name">res.partner.tree</field>
<field name="model">res.partner</field>
<field name="arch" type="xml">
<tree string="Contacts" edit="false" create="false" delete="false">
<field name="display_name"/>
<button name="generate" type="object" string="Générer" icon="oe_highlight"/>
</tree>
</field>
</record>
这很有效,但列出了每个合作伙伴。我想只列出获得服务的合作伙伴。 (自定义模块服务)
我会在XML中完成这样的事情:
domain="[('display_name', 'in', 'select display_name from module_services')]"
你知道怎么做吗?
编辑: 我把它添加到我的模型('res.partner')
got_services = fields.Boolean('Got services', compute='_compute_services')
@api.multi
def _compute_services(self):
for record in self:
self.env.cr.execute("SELECT * FROM module_service WHERE id = %d;" % record.id)
res = self.env.cr.fetchall()
record.got_services = False if not res else True
修改了我的观点:
[...]
<field name="display_name" domain="[('got_services', '=', True)]"/>
<field name="got_services"/>
[...]
只有当客户获得服务(好)时才将got_services设置为True,但即使我的域名仍然列出了所有客户。
答案 0 :(得分:0)
我认为您需要根据您的要求在 res.partner 模型中定义新字段。
您可以在custom_services模型中创建与 res_partner_id 字段对应的 one2many (我猜这是一个很多的字段),所以你可以轻松完成您的域名过滤。