Odoo 10看板视图:通过拖放垂直排序看板项目



我想通过拖放在Odoo中订购看板项目。我有自己的整数字段"k_order",并将此字段用于模型 _order="k_order"。

看板项根据k_order字段正确显示(排序(。但是当我更改顺序(垂直(时,它不会保存它。刷新浏览器后,它会转到旧位置。

如何实现上述行为(排序(?我还使用 widget="handel" 进行字段k_order。

树视图中的这种排序按预期工作。

似乎看板小部件重新排序仅适用于字段sequence,这是 odoo 模型的默认排序字段。

您可以在此处看到该部分 ->模块web_kanban

resequence: function (ids) {
if ((ids.length <= 1) || !this.relation) {
return;
}
new data.DataSet(this, this.relation).resequence(ids).done(function (r) {
if (!r) {
console.warn('Resequence could not be complete. ' +
'Maybe the model does not have a "sequence" field?');
}
});
},
resequence_column: function (col) {
if (_.indexOf(this.fields_keys, 'sequence') > -1) {
this.dataset.resequence(col.get_ids());
}
},

感谢您的提示。我已经做了一个解决方法并在这里发布,因为它可能对其他人有用。我已经将"序列"字段映射到我自己的字段"顺序",其反函数如下;

my_order = fields.Integer(string="My order field", compute='_compute_order', inverse='_inverse_order',store=True )

@api.depends('sequence')
def _compute_order(self):
for rec in self:
rec.my_order =rec.sequence

def _inverse_order(self):
for rec in self:
rec.sequence = rec.my_order

最新更新