This question has been flagged

Hi

If the user opens a record in edit mode, changes a field, @api.onchange/depends may be triggered, when the user hit the UI's [Save] button everything get saved.

I would like to reproduce this programatically:

for record in proxy.browse(cr, uid, active_ids, context=context):
    record.field = record.field + " new"
    # onchange/depends may be triggered and change other fields
    record.write(...) # Here I am forced to pass the values to save,
                      # how to save all values ? (or at least the one changed)


How to achieve such thing ?


Regards

Avatar
Discard
Best Answer

which versions are you using? 

​As far as I recall correctly from version 12 odoo implement server-side form reading for batter emulate/test form view and trigger the relevant action like default_get, onchage 
ef https://github.com/odoo/odoo/blob/12.0/odoo/tests/common.py#L1043

There is no real use case to implement in odoo codebase (except test) so you couldn't find any example. but the feature is well documented (https://github.com/odoo/odoo/blob/12.0/odoo/tests/common.py#L1059).

I am really interested to know about your use case. why do you want to implement it?

Avatar
Discard
Author Best Answer

This 'simple' thing is apparently impossible ?

Avatar
Discard