Aide

0

Is it possible to define global/environment variables in odoo?

Avatar
Daniele Morelli

Hi, i'm using odoo v11.

I was wondering if it's possible (and, if so, which is the most standard way) to define global variables that may be accessible everywhere in the python side of my odoo deployement.

My company is planning to release several odoo deployements for different customers, but most of the functionalities would still be the same across the different deployements. 

I'd like to code my custom modules in the most general way possible, delegating the customer-specific features to server-side conditions like

if(is_feature_xyz_active):
    #do some nifty stuff

where 'is_feature_xyz_active' is a global variable saved somewhere, whose value will be set according to the requests of the specific customer.

Where should I save those variables, and how should I access them?

Thank you very much in advance.

Avatar
Annuler
1 Réponse
2
Avatar
Ray Carnes (ray)
Meilleure réponse

Check out the ir.config_parameter model.

A Python request such as:

my_global_variable = self.env['ir.config_parameter'].sudo().get_param('my.global.variable')

will return the value stored and something like:

self.env['ir.config_parameter'].sudo().set_param('my.global.variable', my_global_variable)

will set it.


1 Commentaires
Avatar
Annuler
Avatar
Daniele Morelli
-

Thank you very much for your answer! Cheers.