İçereği Atla
Menü
Bu soru işaretlendi
3 Cevaplar
6050 Görünümler

I am trying to understand how to extend Odoo. As first step I want to implement a new method named 'hello_world' for product.product class.


This methods does the mandatory 'Hello World', which according to other posts should be seen if odoo is launched in command line:

    print 'Hello World'


Then I set up an automated action which executes python code to launch that method every time a new product is created, so I will have my first new method in Odoo implemented.


I edit and add the following to addons/product/product.py:

class product_product(osv.osv):

[...]

    def hello_world():

        print 'Hello World'


And add the following server action:

Base model: Product

Action: Execute Python Code


Python Code:

self.hello_world()


And I try this flamboyant method by creating a new product through the GUI and getting the following error:

ValueError: "'product.product' object has no attribute 'hello_world'" while evaluating

u'# Available locals:\n# - time, datetime, dateutil: Python libraries\n# - env: Odoo Environement\n# - model: Model of the record on which the action is triggered\n# - object: Record on which the action is triggered if there is one, otherwise None\n# - workflow: Workflow engine\n# - Warning: Warning Exception to use with raise\n# To return an action, assign: action = {...}\nself.hello_world()'


Note: I am aware that the right way of doing this is extending Odoo through modules, but it is needed to understand this before moving forward.

Avatar
Vazgeç

Did you restart the Odoo server? Modification of Python files require a server restart to take effect.

En İyi Yanıt

Better one Please Follow the odoo official documentation.This is not the proper way for extending the odoo Feature use Inheritance Method

Avatar
Vazgeç
En İyi Yanıt

Hello E.M.,


Please try this in python code:

def hello_world(self):

    print 'Hello World'

 

Avatar
Vazgeç
İlgili Gönderiler Cevaplar Görünümler Aktivite
1
Ara 16
5586
12
Ara 23
36011
1
Ağu 15
5078
0
Mar 15
3196
1
Kas 24
4300