Python odoo onchange无法获取数据
在奥多,我试图再次改变。条件是,在插入类似“SO00012”的数据后,我的代码将尝试通过插入代码浏览数据。这是我的密码:Python odoo onchange无法获取数据,python,python-2.7,openerp,odoo-8,Python,Python 2.7,Openerp,Odoo 8,在奥多,我试图再次改变。条件是,在插入类似“SO00012”的数据后,我的代码将尝试通过插入代码浏览数据。这是我的密码: def onchange_data(self, cr, uid, vals, ids, context=None): stocks_picking_onchange = self.browse(cr, uid) products = [] stiks = self.browse(cr, uid, ids) objk = self.pool
def onchange_data(self, cr, uid, vals, ids, context=None):
stocks_picking_onchange = self.browse(cr, uid)
products = []
stiks = self.browse(cr, uid, ids)
objk = self.pool.get('purchase.order')
objeck = self.pool.get('data.stock.picking')
objecks = objk.search(cr, uid,[('name','=',stiks.origin)])
datas = objk.browse(cr, uid, objecks)
if datas:
for data in datas:
for line in data.order_line:
products.append((0, 0, {
'data1': line.id,
'data2' : line.product_qty,
'data3' : line.bonus,
}))
但我从未得到数据,我的朋友建议我添加方法create,如:
def onchange_data(self, cr, uid, vals, ids, context=None):
res = super(stock_picking, self).create(cr, uid, vals, context=context)
stocks_picking_onchange = self.browse(cr, uid)
products = []
但是,它仍然不起作用的确,您创建了记录列表,但没有影响模型的任何字段:
if datas:
products.append((5,0,false)) # if you want to remove all old records
# i think without this line you will add the new record to the old list
for data in datas:
for line in data.order_line:
products.append((0, 0, {
'data1': line.id,
'data2' : line.product_qty,
'data3' : line.bonus,
}))
# return your value
return {'values' : {'your_field_name_here': products}}
关于onchange data1,您应该知道的一件事是,data2和data3必须出现在字段的树中,否则web客户端将不知道在哪里存储它们,它们将丢失 我在onchange()方法中没有看到return语句。