在Odoo 12中,带有widget =“ radio”的选择字段未在XML文件中的attrs上获得要求的效果

时间:2019-06-02 05:29:30

标签: python xml odoo

我正在尝试使用XML文件中的 attrs 创建一个选择字段,其中包含 widget =“ radio” 。对其应用widget =“ radio”不需要选择字段。但是当我删除单选控件时,选择字段在创建新记录时在表单视图中获得所需的效果。

这是我在此处申请所需的选择字段:

<field name="installments_calculation" widget="radio" options="{'horizontal': true}" attrs="{'required': [('repayment_method', '=', 'salary deduction')]}"/>

这是我的还款方式:

repayment_method = fields.Selection([('cash/bank', 'Cash/Bank'), ('salary deduction', 'Salary Deduction')])

我希望选择字段通过在XML文件中的条件上应用required属性而成为必填字段。对于带有widget =“ radio”的选择字段,此行为是否正常?或者我做错了什么?如果正常,如何获取widget =“ radio”所需的选择字段?

2 个答案:

答案 0 :(得分:2)

您的代码应该可以正常工作,但是如果此问题与窗口小部件有关,请在Odoo Github中报告nickname >

目前,只需使用issue即可获得相同的行为

api.constrains

答案 1 :(得分:2)

我想出了一个解决客户端的方法,这是我正在寻找的方法:

odoo.define('mymodule.web.radio.required', function(require){
  var relational_fields = require('web.relational_fields');

  relational_fields.FieldRadio.include({
      isSet: function () {
          return (this.mode === 'edit')? ($(this.$el).find("[checked='true']")).length > 0: this.value;
      },
  });
});