要查看 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]}}