如何使用Odoo JS在Many2One字段上应用域过滤器
How to apply domain filter on Many2One field Using Odoo JS?
目前,我正在从事POS定制。我几乎做到了,但卡在了这个问题上。
Py 文件:
class prescription(osv.osv):
_name = 'res.prescriptions'
_columns={
'prescription_id':fields.many2one('res.partner',"customer"),
}
class prescription_res_partner(osv.osv):
_inherit = 'res.partner'
_columns = {
'prescriptions_ids': fields.one2many('res.prescriptions','prescription_id','Prescriptions'),
}
我想做的是,当用户在POS中选择客户,然后单击处方按钮时,它仅显示与特定选定客户相关的处方。目前,它显示所有处方,因为我无法正确设置过滤器域。也。。。。。
我试图在JS中使用.query(),.filter()来解决我的问题,但是得到一些错误,而如果我放置静态partner_id那么它将显示给定静态partner_id的处方。我想为充满活力的合作伙伴解决这个问题。它只显示选定伴侣的处方...!!
在 JS 文件中:
var def = new $.Deferred();
console.log("deffffffffffffff", def);
var fields = _.find(this.models,function(model){ return model.model === 'res.prescriptions'; });
new instance.web.Model('res.prescriptions')
.query(fields)
.filter([['prescription_id', '=', 51]]) // Here i pass static partner_id instead of this i want to pass dynamic partner_id
.limit(1000)
.all()
.then(function(prescriptions){
if (self.render_list_prescription(prescriptions)) { // Render selected partner's Prescription
def.resolve();
} else {
def.reject();
}
}, function(err,event){ event.preventDefault(); def.reject(); });
return def;
我花了将近 3 天来克服这个问题,但未能交付。 请帮助我摆脱困境。再次非常感谢您的帮助..!!
您可以尝试在这样的字段中使用域:
_columns = {
'prescriptions_ids': fields.one2many('res.prescriptions','prescription_id','Prescriptions', domain="[('prescription_id', '=', 51)]"),
}
将 51 与相关的另一列更改
您可以在on_change
方法中执行此操作。
prescription_ids = # search for prescriptions related to the selected customer
# self.pool.get('res.prescriptions').search(cr, uid, [('partner_id', '=', YOU SHOULD GET THE CUSTOMER ID)])
res['domain']['prescription_id'] = [('id', 'in', prescription_ids)]
return res
相关文章:
- 角度ng重复显示应用过滤器之前的数据
- Vue js 在输入字段中对 v-model 应用过滤器
- JQGridPageing在通过过滤器工具栏应用过滤器后非常慢
- 如何在嵌套的ngRepeat中对第二个ngRepeat应用过滤器
- 在应用过滤器之前,我需要隐藏所有过滤器容器数据
- DC.js 应用过滤器后热图颜色范围未更新
- 应用过滤器后元素被删除
- free-jqgrid:保存、加载和应用过滤器数据的更简单方法,包括过滤器工具栏文本和页面设置
- 在 ExtJS 4.1 的 Ext.Data.TreeStore 中应用过滤器
- 如何在 Vuejs 组件中应用过滤器
- AngularUI:在应用过滤器的情况下正确更新两个列表之间的模型
- Angular.js-使用间隔应用过滤器
- jQuery点击按钮don'在剑道网格中应用过滤器后无法工作
- jQuery在应用过滤器后调整窗口大小
- 使用jQuery对选择框应用过滤器
- 当应用过滤器时,DC.js复合图表不更新
- 如何使用ng-repeat为2维json对象应用过滤器
- AngularJS在控制器中应用过滤器
- 是否有可能在特定维度上应用过滤器
- 从不同的控制器应用过滤器到ngRepeat