CRM | e-Commerce | Accounting | Inventory | PoS | Project management | MRP | etc.
Hello, this question may to be a simple question but I don't understand why i can't to add one field to sale.order.line model through 'sale.py'.
In the line 609 i added the next statement:
niu = fields.Char(string="NIU", compute="_niu_validation", defalut=" ", readonly=True)
Then, after de restart de server and when i review the model in the Odoo GUI, There isn't field in the sale.order.line model, like shows in the next image:
Please help with this doubt. I repeat, this can be very simple, but i'm newbie in Odoo and i don't understand why don't its work.
When you want to add a new field to any model, you can either do from front end through UI or from back end through coding.
From front end, you can go to Settings >> Technical >> Database Structure >> Fields >> Create a new field.
But this change or the added field will affect only the current database.
Better option is to add from the backend, by using the inheritance or extension feature provided by Odoo. To create a new field, you need to define that field in the model and also call that field on the view.
You can create a simple your own custom module or addon by following the Odoo tutorial. Then in that module, you can inherit the sale.order.line model in the python file, define your field. Then in the xml file, inherit the view definition of sale.order.line and add this field.
By doing like this, your changes will remain in your own module and doesn't affect the original code. Also just refer the field types available and how to inherit python classes & view definitions.
Its not a good practice to modify the original sale.py file, as it may create problems on upgrade etc.
About This Community
Odoo Training Center
|Asked: 2/25/16, 7:21 AM|
|Seen: 1175 times|
|Last updated: 1/15/18, 2:04 AM|