One2many field on_change function kann seinen eigenen Wert nicht ändern?
Ich habe diese beiden Felder.
'name' : fields.char('Name'),
'addresses' : fields.one2many('res.partner.address', 'partner','Addresses'),
Diese Funktion:
def addresses_change(self, cr, uid, ids, name, addresses, context=None):
value = {}
new_addresses = []
address_pool = self.pool.get('res.partner.address')
for address in address_pool.browse(cr, uid, addresses[0][2], context=context):
new_addresses.append((1,address.id,{'street':'wall street','zip':'7777','partner': ids[0],'active':True}))
value.update(name='whatever')
value.update(addresses=new_addresses)
return {'value':value}
Und diese Ansichtsfelder:
<field name="name" on_change="addresses_change(name,addresses)"/>
<field name="addresses" on_change="addresses_change(name,addresses)"/>
Nun wenn ich änderename
, beidename
undaddresses
werden aktualisiert. Aber wenn ich @ ändeaddresses
sein eigener Wert wird nicht aktualisiert, aber dasname
ist aktualisiert. Also dieses bizarre Verhalten betrifft nurone2many
Felder. Warum ist das
Und wie füge ich @ hinon_change
event toone2many
Felder, die ihren eigenen Wert aktualisieren können?
EDIT: Ich habe herausgefunden, dass dies eine Einschränkung von odoo sein könnte. Haben sie dieses Problem behoben? Link zum Thema