Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save paulius-sladkevicius/60a84c97e8446f5e152415e874923d66 to your computer and use it in GitHub Desktop.
Save paulius-sladkevicius/60a84c97e8446f5e152415e874923d66 to your computer and use it in GitHub Desktop.
Odoo Parent Left, Right recompute script
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
import sys
from argparse import ArgumentParser
parser = ArgumentParser(description="Recompute parent_left, parent_right")
parser.add_argument('odoo_basedir')
parser.add_argument('odoo_cfg')
parser.add_argument('odoo_db')
parser.add_argument('model', help='Odoo model, e.g. account.account')
if __name__ == '__main__':
oargs = parser.parse_args()
sys.path.insert(0, oargs.odoo_basedir)
try:
from openerp import SUPERUSER_ID, api, tools
from openerp.sql_db import db_connect
except:
raise
def main(oargs):
cr = db_connect(oargs.odoo_db).cursor()
with api.Environment.manage():
env = api.Environment(cr, SUPERUSER_ID, {})
env[oargs.model]._parent_store_compute()
cr.commit()
cr.close()
if __name__ == '__main__':
tools.config.parse_config(['-c', oargs.odoo_cfg])
main(oargs)
@naglis
Copy link

naglis commented Jan 30, 2018

Alternative via Odoo shell:

odoo-bin --addons-path=<addons_path> shell -d <db>
env['your.model']._parent_store_compute(); env.cr.commit(); quit()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment