目前,我正在致力于POS定制。我已经做了差不多,但坚持在这个问题。如何将域过滤器应用于Many2One字段使用Odoo JS?
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,并在处方按钮点击,它只显示处方是与特定的选定的客户有关。现在,它显示所有处方,因为我无法正确设置过滤器域。此外.....
我已经尝试过使用.query(),.filter()在解决我的问题JS。但得到一些错误,而如果我把静态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天的时间解决这个问题,但未能实现它。请帮我解决这个问题。再次很多感谢您的帮助.. !!!
当您点击处方按钮时,您是否可以将选定客户的相关处方列表从python传递给js?或使用js获取相关处方列表? –