Hello,
I have a one2many field in a view with multiple records in it.
How can I update an other record from within the onchange method?
so on change of field x in record a: update field x and y in record b?
I was able to do it by using the update() function but this doesn't update the view, it only changes the data in the backend and you only see the changes when you save the parent record.
What is a cleaner workaround for this issue?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Księgowość
- Zapasy
- PoS
- Project
- MRP
To pytanie dostało ostrzeżenie
1
Odpowiedz
3361
Widoki
you can use this:
(0, 0, { values }) link to a new record that needs to be created with the given values dictionary (1, ID, { values }) update the linked record with id = ID (write *values* on it) (2, ID) remove and delete the linked record with id = ID (calls unlink on ID, that will delete the object completely, and the link to it as well) (3, ID) cut the link to the linked record with id = ID (delete the relationship between the two objects but does not delete the target object itself) (4, ID) link to existing record with id = ID (adds a relationship) (5) unlink all (like using (3,ID) for all linked records) (6, 0, [IDs]) replace the list of linked IDs (like using (5) then (4,ID) for each ID in the list of IDs) Example: [(6, 0, [8, 5, 6, 4])] sets the many2many to ids [8, 5, 6, 4]This will help you to update your many2may and one2many records as well.
If you want to change a particular field in a one2many record, then do a filter on the one2many field. Here is an exemple:
@api.onchange('x')
def onchange_field_in_onetomany(self):
b = self.onetomanyfield.filtered(lambda a:a.afield==condition)[0] # [0] because the returned value is a recordset
b.x = newupdate_x
b.y= newupdate_y
Podoba Ci się ta dyskusja? Dołącz do niej!
Stwórz konto dzisiaj, aby cieszyć się ekskluzywnymi funkcjami i wchodzić w interakcje z naszą wspaniałą społecznością!
Zarejestruj sięPowiązane posty | Odpowiedzi | Widoki | Czynność | |
---|---|---|---|---|
Add month to date field
Rozwiązane
|
|
2
cze 22
|
17698 | |
onchange method doesn't work for new records
Rozwiązane
|
|
2
sty 19
|
6654 | |
|
2
lip 18
|
6576 | ||
|
0
sie 17
|
4627 | ||
How to trigger function on object write?
Rozwiązane
|
|
4
cze 20
|
27068 |