目前,我正在致力於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獲取相關處方列表? –