域中新创建的记录未在OpenERP字段中显示

时间:2014-08-18 12:02:55

标签: python openerp odoo

我一直在开发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)]}}

1 个答案:

答案 0 :(得分:0)

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

# ---------------------------------------------------------                     
# 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]}}