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

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

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

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

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



  • 需求见下图,把一个one2many中的many按不同的需求列表显示。<br />[img]http://shine-it.net/index.php?action=dlattach;topic=12710.0;attach=2830;image[/img]<br /><br />[b]首先在view中放了两个Page,对应两个相同的o2m字段,然后分别作Domain,不成功,从网上查询得知,o2m在view中作domain无效。[/b]<br /><br />[b]求助QQ群,经大侠们指点,可以在py文件中分别定义两个带domain的one2many字段,指向同一个m表,测试成功![/b]<br /><br />[b]实现方法:[/b]<br />主表:ykjfund.main<br />            ................<br />        'fund_ids': fields.one2many('ykjfund.detail', 'detail_id', string=u"有效明细",domain=[('date_stop', '=',None )]),  [b]#date_stop 为子表的字段[/b]<br />        'fund_ids2': fields.one2many('ykjfund.detail', 'detail_id', string=u"失效明细",readonly=True,domain=[('date_stop','!=',None)]),<br /><br />子表:ykjfund.detail<br />        ..............<br />        'date_stop': fields.date(u'止'),<br />        'detail_id': fields.many2one('ykjfund.main', u'名称'),<br /><br />view:<br />  <notebook colspan="4"><br />                            <page string="有效明细"><br />                                <field name="fund_ids"  colspan="4" nolabel="1"  ><br />                                    <tree  string="明细"><br />                                      .......<br />                                    </tree><br />                                </field><br />                            </page><br />                            <page string="失效明细"><br />                                <field name="fund_ids2" colspan="4" nolabel="1"  ><br />                                    <tree  string="明细"><br />                                        ......<br />                                    </tree><br />                                </field><br />                            </page><br /><br /><br />[b]结论:one2many在view中实现不了domain,但可以在py文件中定义![/b]



  • 需求见下图,把一个one2many中的many按不同的需求列表显示。<br />[img]http://shine-it.net/index.php?action=dlattach;topic=12710.0;attach=2830;image[/img]<br /><br />[b]首先在view中放了两个Page,对应两个相同的o2m字段,然后分别作Domain,不成功,从网上查询得知,o2m在view中作domain无效。[/b]<br /><br />[b]求助QQ群,经大侠们指点,可以在py文件中分别定义两个带domain的one2many字段,指向同一个m表,测试成功![/b]<br /><br />[b]实现方法:[/b]<br />主表:ykjfund.main<br />            ................<br />        'fund_ids': fields.one2many('ykjfund.detail', 'detail_id', string=u"有效明细",domain=[('date_stop', '=',None )]),  [b]#date_stop 为子表的字段[/b]<br />        'fund_ids2': fields.one2many('ykjfund.detail', 'detail_id', string=u"失效明细",readonly=True,domain=[('date_stop','!=',None)]),<br /><br />子表:ykjfund.detail<br />        ..............<br />        'date_stop': fields.date(u'止'),<br />        'detail_id': fields.many2one('ykjfund.main', u'名称'),<br /><br />view:<br />  <notebook colspan="4"><br />                            <page string="有效明细"><br />                                <field name="fund_ids"  colspan="4" nolabel="1"  ><br />                                    <tree  string="明细"><br />                                      .......<br />                                    </tree><br />                                </field><br />                            </page><br />                            <page string="失效明细"><br />                                <field name="fund_ids2" colspan="4" nolabel="1"  ><br />                                    <tree  string="明细"><br />                                        ......<br />                                    </tree><br />                                </field><br />                            </page><br /><br /><br />[b]结论:one2many在view中实现不了domain,但可以在py文件中定义![/b]



  • OK...<br /><br />结论是什么呢? <br /><br />[分享] 是吧? 最好在标题栏上加上"分享" 或者已解决 吧.:) 感谢分享...



  • 呵呵 :)


登录后回复
 

与 Odoo 中文社区 的连接断开,我们正在尝试重连,请耐心等待