I have a new field for a model with existing records. It works on new records but I also want old records to have a value on the field. How can I achieve this?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Buchhaltung
- Lager
- PoS
- Project
- MRP
Diese Frage wurde gekennzeichnet
Hi,
You can use odoo Post hooks for this problem:
You need to post_init_function in your manifest file:
'post_init_hook':'add_field_test'
Import the post_init_hook function in your __init__.py file and define the function
from . hooks import add_field_test
Inside the hooks.py file define the function as follows,
from odoo import api,SUPERUSER_ID
def add_field_test(cr,registry):
env=api.Environment(cr,SUPERUSER_ID,{})
for rec in env[demo.model].search([]):
rec.field="value"
For more information refer: https://www.cybrosys.com/blog/how-to-use-hooks-in-odoo-development
Regards
Diskutieren Sie gerne? Treten Sie bei, statt nur zu lesen!
Erstellen Sie heute ein Konto, um exklusive Funktionen zu nutzen und mit unserer tollen Community zu interagieren!
RegistrierenVerknüpfte Beiträge | Antworten | Ansichten | Aktivität | |
---|---|---|---|---|
|
1
Sept. 23
|
1455 | ||
|
1
März 24
|
891 | ||
|
1
Apr. 24
|
1652 | ||
|
2
Jan. 24
|
2677 | ||
|
0
Okt. 23
|
1312 |
What is the type of your new field? Is it a normal field or compute field?
It would be better if you share your code.
It turns out what I needed was odoo hooks