带有部分编号的默认过滤器
Default filter with partial number
在树视图中,我有字段 "code",我只想过滤代码以 910 开头的记录,它应该是默认过滤器。
我试图玩弄上下文,但并不多。我可以按代码过滤,但我怎样才能在其中添加这个 910。
<field name="context">{"search_default_code":1}</field>
更新。
<record id="project_proposal_view_search" model="ir.ui.view">
<field name="name">project.part.search</field>
<field name="model">project.proposal</field>
<field name="arch" type="xml">
<search>
<field name="name"/>
<field name="project_id"/>
<field name="code"/>
<filter name="code" string="Starts with 910" domain="[('code','ilike', '910')]"/>
</search>
</field>
</record>
class ProjectProposal(models.Model):
_name = 'project.proposal'
_inherit = ['mail.thread']
code = fields.Char(compute='_compute_code')
@api.multi
@api.onchange('project_id', 'object', 'stage_id', 'part_template_id')
def _compute_code(self):
for r in self:
code = []
if r.project_id:
code.append(r.project_id.code or '')
if r.object:
code.append(r.object or '')
if r.stage_id:
code.append(r.stage_id.code or '')
if r.part_template_id:
code.append(r.part_template_id.code or '')
r.code = '-'.join(code)
您必须告知我们有关代码字段类型的信息。它似乎是 char.also 类型,您似乎正在使用具有上下文的操作。
所以你必须定义过滤器 code 你正在尝试使用 {"search_default_code":1}
<filter name="code" string="starts with 910" domain="[('code','ilike', '910')]" />
所以你最终会定义类似的东西
<!-- FILTERS FOR YOUR MODEL -->
<record id="filter_model_name" model="ir.ui.view">
<field name="name">FILTER NAME</field>
<field name="model">MODEL.NAME</field>
<field name="arch" type="xml">
<search string="MODEL NAME">
<filter name="code" string="starts with 910" domain="[('code','ilike', '910')]" />
</search>
</field>
</record>
<!-- FILTERS FOR YOUR MODEL -->
请确保您的字段定义类似于
code = fields.Char(compute='_compute_code', store=True)
在树视图中,我有字段 "code",我只想过滤代码以 910 开头的记录,它应该是默认过滤器。 我试图玩弄上下文,但并不多。我可以按代码过滤,但我怎样才能在其中添加这个 910。
<field name="context">{"search_default_code":1}</field>
更新。
<record id="project_proposal_view_search" model="ir.ui.view">
<field name="name">project.part.search</field>
<field name="model">project.proposal</field>
<field name="arch" type="xml">
<search>
<field name="name"/>
<field name="project_id"/>
<field name="code"/>
<filter name="code" string="Starts with 910" domain="[('code','ilike', '910')]"/>
</search>
</field>
</record>
class ProjectProposal(models.Model):
_name = 'project.proposal'
_inherit = ['mail.thread']
code = fields.Char(compute='_compute_code')
@api.multi
@api.onchange('project_id', 'object', 'stage_id', 'part_template_id')
def _compute_code(self):
for r in self:
code = []
if r.project_id:
code.append(r.project_id.code or '')
if r.object:
code.append(r.object or '')
if r.stage_id:
code.append(r.stage_id.code or '')
if r.part_template_id:
code.append(r.part_template_id.code or '')
r.code = '-'.join(code)
您必须告知我们有关代码字段类型的信息。它似乎是 char.also 类型,您似乎正在使用具有上下文的操作。
所以你必须定义过滤器 code 你正在尝试使用 {"search_default_code":1}
<filter name="code" string="starts with 910" domain="[('code','ilike', '910')]" />
所以你最终会定义类似的东西
<!-- FILTERS FOR YOUR MODEL -->
<record id="filter_model_name" model="ir.ui.view">
<field name="name">FILTER NAME</field>
<field name="model">MODEL.NAME</field>
<field name="arch" type="xml">
<search string="MODEL NAME">
<filter name="code" string="starts with 910" domain="[('code','ilike', '910')]" />
</search>
</field>
</record>
<!-- FILTERS FOR YOUR MODEL -->
请确保您的字段定义类似于
code = fields.Char(compute='_compute_code', store=True)