【问题标题】:Can I populate a field on an onChange event?我可以在 onChange 事件上填充字段吗?
【发布时间】:2013-07-10 18:58:24
【问题描述】:

当用户从表单中选择酒店时,我试图向用户显示可能的便利设施列表。

为此,我有一个带有酒店名称的 fields.selection 字段,并且根据我想要填充笔记本的选择,我在同一视图中也有一个 fields.one2many 字段,该字段需要获取特定的便利设施设施表中的酒店。

我可以使用onChange 事件来填充与更改不同的字段吗?

我对如何实现这一点感到有些困惑。任何提示将不胜感激。

【问题讨论】:

    标签: python xml onchange openerp


    【解决方案1】:

    是的,你可以:

    您的 XML 将是:

    <field name="hotel" on_change="hotel_change(hotel, context) />
    <field name="other_field" />
    

    您的方法将是(如果版本

    def hotel_change(self, cr, uid, ids, hotel, context = None):
       other_field_value = get_other_field_value(hotel)
       return {'value': {'other_field': other_field_value,},}
    

    注意:

    1. 这适用于 7.0。如果您的 OpenERP 版本
    2. on_change 的返回值是一个包含(可能)的字典:
      • 'value' - 字段和值的字典
      • 'warning' - 一个包含两个字段的字典,title 和 message 这就像一个 osv.osv_except 返回给用户。
      • 'domain' - 一个域。
    3. 您可以返回表单/树中的任何其他字段的值。
    4. 你不需要在值中返回传入的酒店,但如果有错误或者你想更改它,你可以返回它。
    5. 如果您在值中返回“other_field”并且other_field 也有一个on_change,则将调用on_change

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-06
      • 1970-01-01
      • 2016-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多