2

我一直在研究 OpenERP-7 中的搜索模块。我正在返回域中的记录,以便我可以在我的域中显示它们。问题是该字段没有显示域中新创建的记录。在控制台上打印域的值时,我得到了所需的记录。但我似乎不明白为什么它不允许我在我的领域中查看它们。我也没有收到任何错误。

我的域部分功能如下:

 res = cr.fetchall()
    for p_id,p_name in res:
        domain.append((p_id))
    print domain
    return {'domain':{'my_products':[('id','in',domain)]}}
4

1 回答 1

0

要查看 one2many 中的记录,您不必使用“域”,您必须使用模板中的“值”来保存 one2many 记录(参见 server/bin/openerp/osv/fields.py 中的第 420 行) :

# ---------------------------------------------------------                     
# Relationals fields                                                            
# ---------------------------------------------------------                     
#                                                                                
#                                                                               
# Values: (0, 0,  { fields })    create                                         
#         (1, ID, { fields })    update                                         
#         (2, ID)                remove (delete)                                
#         (3, ID)                unlink one (target id or target of relation)   
#         (4, ID)                link                                           
#         (5)                    unlink all (only valid for one2many)           
#                                                                               
#CHECKME: dans la pratique c'est quoi la syntaxe utilisee pour le 5? (5) ou (5, 0)?

所以,在你的情况下,我认为这可以工作:

res = cr.fetchall()
for p_id,p_name in res:
    domain.append((p_id))

return {'value': {'my_products': [(4, x) for x in domain]}}
于 2014-12-03T14:03:42.843 回答