$ python3 /usr/bin/odoo shell -d odoodb --no-http
>> self.env['custom_app.your_model'].hi('simpson_homer')
Lo anterior asume que tenemos un método en nuestro modelo:
from odoo import models, fields, api
class YourModel(models.Model):
def hi(self, name):
print("hi " + name)
Si modificamos nuestro modelo y deseamos ejecutar el método tomando en cuenta los nuevos cambios, podemos hacerlo de la siguiente forma:
python3 /usr/bin/odoo -d odoodb -u melimgt --workers=0 --no-http --i18n-overwrite --stop-after-init && echo "self.env['custom_app.your_model'].hi('simpson_homer')" | python3 /usr/bin/odoo shell -d odoodb --no-http
Si deseamos que los cambios en los registros tengan impactos en la tabla de la base de datos, necesitamos hacer commit, es decir: env.cr.commit()
python3 /usr/bin/odoo -d odoodb -u melimgt --workers=0 --no-http --i18n-overwrite --stop-after-init && echo "env['custom_app.your_model'].create({'name':'Gus'});env.cr.commit()" | python3 /usr/bin/odoo shell -d odoodb --no-http