Odoo。有限制的下拉列表

问题描述:

我的模型中有一些One2Many字段。我设置了limit = 5元素的视图。但是我怎样才能将可能的值(80-200-500等)更改为我的自定义列表(例如:10-15等)?Odoo。有限制的下拉列表

enter image description here

这里我的xml:

<!-- 
    info about view: 
    <record model="ir.ui.view" id="view_my_id_employee_form"> 
     <field name="name">hr.employee.property.form.inherit</field> 
     <field name="model">hr.employee</field> 
     <field name="inherit_id" ref="hr.view_employee_form" /> 
--> 
<field name="adaptation_result_ids"> 
    <tree default_order="date desc" limit="5"> 
     <field name="name"/> 
     <field name="date"/> 
    </tree> 
</field> 

也许有可能使用窗口操作的设置?

enter image description here

我尝试不同的方法,但一切都是徒劳。 你能帮我解决问题吗? 预先感谢您。

+0

我不明白你的问题,你的意思是限制one2many的领域?在这种情况下,限制域到什么parametter?如果im在正确的方向,最好的情况是你的自适应结果对象中的另一个字段(如布尔值),然后在one2many中添加一个域过滤器 – dccdany

+0

我只需要更改下拉列表中的可能值(对于特定视野中的字段)。 'adaptation_result_ids' - 它是One2Many字段。我需要为我的列表设置仅用于此_tree_元素的可能值。有可能的? –

+0

是的,但让我们假设你有5项:200,300,500,1000和2500,并且你想显示200,300和500.你想要显示那些你说的那些有什么不同不想显示(1000 - 2500)? – dccdany

/addons/web/static/src/js/views/list_view.js

render_pager: function($node) { 
//... 
this.$pager 
//... 
.find('.oe_list_pager_state') 
    .click(function (e) { 
     e.stopPropagation(); 
     var $this = $(this); 

     var $select = $('<select>') 
      .appendTo($this.empty()) 
      .click(function (e) {e.stopPropagation();}) 
      .append('<option value="80">80</option>' + 
       '<option value="200">200</option>' + 
       '<option value="500">500</option>' + 
       '<option value="2000">2000</option>' + 
       '<option value="NaN">' + _t("Unlimited") + '</option>') 
      .change(function() { 
       var val = parseInt($select.val(), 10); 
       self._limit = (isNaN(val) ? null : val); 
       self.page = 0; 
       self.reload_content(); 
      }).blur(function() { 
       $(this).trigger('change'); 
      }) 
      .val(self._limit || 'NaN'); 
     }); 
//... 
} 

/my_module/template.xml

<openerp> 
    <data> 
     <template id="assets_backend_tree_pager" name="tree pager" inherit_id="web.assets_backend"> 
      <xpath expr="//script[@src='/web/static/src/js/views/list_view.js']" position="replace"> 
       <script type="text/javascript" src="/my_module/static/src/js/views/list_view.js"></script> 
      </xpath> 
     </template> 
    </data> 
</openerp> 

/my_module /静态/ SRC/JS /视图/list_view.js

// TODO code