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