Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

(分享)one2many的domain实现(o2m在view中按条件显示所需列表)



  • 需求见下图,把一个one2many中的many按不同的需求列表显示。
    [img [检测到链接无效,已移除] /img]

    [b]首先在view中放了两个Page,对应两个相同的o2m字段,然后分别作Domain,不成功,从网上查询得知,o2m在view中作domain无效。[/b]

    [b]求助QQ群,经大侠们指点,可以在py文件中分别定义两个带domain的one2many字段,指向同一个m表,测试成功![/b]

    [b]实现方法:[/b]
    主表:ykjfund.main
                ................
            'fund_ids': fields.one2many('ykjfund.detail', 'detail_id', string=u"有效明细",domain=[('date_stop', '=',None )]),  [b]#date_stop 为子表的字段[/b]
            'fund_ids2': fields.one2many('ykjfund.detail', 'detail_id', string=u"失效明细",readonly=True,domain=[('date_stop','!=',None)]),

    子表:ykjfund.detail
            ..............
            'date_stop': fields.date(u'止'),
            'detail_id': fields.many2one('ykjfund.main', u'名称'),

    view:
      <notebook colspan="4">
                                <page string="有效明细">
                                    <field name="fund_ids"  colspan="4" nolabel="1"  >
                                        <tree  string="明细">
                                          .......
                                        </tree>
                                    </field>
                                </page>
                                <page string="失效明细">
                                    <field name="fund_ids2" colspan="4" nolabel="1"  >
                                        <tree  string="明细">
                                            ......
                                        </tree>
                                    </field>
                                </page>


    [b]结论:one2many在view中实现不了domain,但可以在py文件中定义![/b]



  • OK...

    结论是什么呢?

    [分享] 是吧? 最好在标题栏上加上"分享" 或者已解决 吧.:) 感谢分享...



  • 呵呵 🙂


Log in to reply