gpt4 book ai didi

python - 奥多。按字段一对多搜索

转载 作者:行者123 更新时间:2023-11-28 16:29:16 26 4
gpt4 key购买 nike

我在 odoo 9 中为员工扩展模块。每个员工都有 child 。这是我的模型:

class Employee(models.Model):
_name = 'hr.employee'
_inherit = 'hr.employee'

children_ids = fields.One2many('my_module', 'employee_id', string="Children")


class Child(models.Model):
_name = 'my_module'

name = fields.Char(required=True, string='Name')

birthday = fields.Date(required=True, string='Birthday')

employee_id = fields.Many2one('hr.employee', ondelete='cascade', string="Employee")

enter image description here

如何配置按生日搜索?例如,我想在搜索日期中设置生日(或日期间隔),系统必须向我显示搜索到的所有有 child 生日的员工。

enter image description here

这是我的搜索 View (这适用于 child 的名字):

<record id="view_urspectr_employee_filter" model="ir.ui.view">
<field name="name">Employees</field>
<field name="model">hr.employee</field>
<field name="inherit_id" ref="hr.view_employee_filter" />
<field name="arch" type="xml">
<search position="inside">
<field name="children_ids"/>
</search>
</field>
</record>

我在模块account(../addons/account/views/account_view.xml)中发现了类似的情况:

<record id="view_account_move_filter" model="ir.ui.view">
<field name="name">account.move.select</field>
<field name="model">account.move</field>
<field name="arch" type="xml">
<search string="Search Move">
<field name="name" filter_domain="['|', ('name','ilike',self), ('ref','ilike',self)]" string="Move"/>
<field name="date"/>

按日期搜索效果很好。但在这种情况下,date 字段使用了没有关系的 One2Many

你能帮忙解决一下吗?我找不到通过 One2Many 搜索的示例。提前谢谢你。

最佳答案

这里的解决方法:

<record id="view_urspectr_employee_filter" model="ir.ui.view">
<field name="name">Employees</field>
<field name="model">hr.employee</field>
<field name="inherit_id" ref="hr.view_employee_filter"/>
<field name="arch" type="xml">
<search position="inside">
<field name="children_ids" filter_domain="[('children_ids.birthday', '=', self)]" widget="date"/>
</search>
</field>
</record>

关于python - 奥多。按字段一对多搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33698161/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com