奥多一改得不到d

2024-03-29 10:08:49 发布

您现在位置:Python中文网/ 问答频道 /正文

在奥多身上我试图改变。条件是,在插入类似“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.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,比如:

^{pr2}$

但是,它仍然不起作用


Tags: 数据代码selfidsuiddatalinepicking
1条回答
网友
1楼 · 发布于 2024-03-29 10:08:49

确实,您创建了记录列表,但并未将其影响到模型的任何字段:

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客户端将不知道存储它们的位置,它们将丢失。在

相关问题 更多 >