Base JSONify

base_jsonify
REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/14.0/base_jsonify
VERSION
VERSION 2.0.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion, Camptocamp, ACSONE
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion, Camptocamp, ACSONE
COMMITTERS
COMMITTERSGitHub, Laurent Mignon (ACSONE), Ivàn Todorovich, Florent Xicluna, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Simone Orsi, Chafique, Pierrick Brun, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/server-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:05
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/server-tools:
    - jsonifier
odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (0)

No views found for this module.

Models touched (0)

No models found for this module.

REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/13.0/base_jsonify
VERSION
VERSION 3.2.1
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSStefan Rijnhart, Laurent Mignon (ACSONE), nans, OCA Transbot, oca-travis, OCA-git-bot, Simone Orsi, laurent.corron, Laurent-Corron
WEBSITE
WEBSITEhttps://github.com/OCA/server-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:17
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_ir_exports ir.exports form New
view_ir_exports_resolver ir.exports.resolver form New
Models touched (4)

New fields (0)

No new fields.

Public methods (1)
  • jsonify(self, parser, one=False)
    Convert the record according to the given parser. Example of (simple) parser: parser = [ 'name', 'number', 'create_date', ('partner_id', ['id', 'display_name', 'ref']) ('shipping_id', callable) ('delivery_id', "record_method") ('line_id', ['id', ('product_id', ['name']), 'price_unit']) ] In order to be consistent with the odoo api the jsonify method always return a list of object even if there is only one element in input. You can change this behavior by passing `one=True` to get only one element. By default the key into the json is the name of the field extracted from the model. If you need to specify an alternate name to use as key, you can define your mapping as follow into the parser definition: parser = [ 'field_name:json_key' ]

New fields (2)
  • global_resolver_id Many2one → ir.exports.resolver
    comodel_name='ir.exports.resolver' domain="[('type', '=', 'global')]" help='If set, will apply the global resolver to the result' string='Custom global resolver'
  • language_agnostic Boolean
    default=False help='If set, will set the lang to False when exporting lines without lang, otherwise it uses the lang in the given context to export these fields' string='Language Agnostic'
Public methods (1)
  • get_json_parser(self)
    @ormcache('self.language_agnostic', 'self.global_resolver_id.id', "tuple(self.export_fields.mapped('write_date'))")
    Creates a parser from ir.exports record and return it. The final parser can be used to "jsonify" records of ir.export's model.

New fields (5)
  • active Boolean
    default=True string='Active'
  • instance_method_name Char
    help='A method defined on the model that takes a record and a field_name' string='Function'
  • lang_id Many2one → res.lang
    comodel_name='res.lang' help='If set, the language in which the field is exported' string='Language'
  • resolver_id Many2one → ir.exports.resolver
    comodel_name='ir.exports.resolver' help='If set, will apply the resolver on the field value' string='Custom resolver'
  • target Char
    help='The complete path to the field where you can specify a target on the a step as field:target' args: 'Target'
Public methods (0)

No public methods.

New fields (3)
  • name Char
  • python_code Text
    default='\n'.join(<expr>) help='\n'.join(help_message) string='Python Code'
  • type Selection
    args: [('field', 'Field'), ('global', 'Global')]
Public methods (1)
  • resolve(self, param, records)
REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/12.0/base_jsonify
VERSION
VERSION 1.1.2
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSLaurent Mignon (ACSONE), OCA Transbot, oca-travis, OCA-git-bot, Simone Orsi
WEBSITE
WEBSITEhttps://github.com/OCA/server-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:22
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_ir_exports ir.exports form New
Models touched (3)

New fields (0)

No new fields.

Public methods (1)
  • jsonify(self, parser)
    @api.multi
    Convert the record according to the given parser. Example of parser: parser = [ 'name', 'number', 'create_date', ('partner_id', ['id', 'display_name', 'ref']) ('line_id', ['id', ('product_id', ['name']), 'price_unit']) ] In order to be consistent with the odoo api the jsonify method always return a list of object even if there is only one element in input By default the key into the json is the name of the field extracted from the model. If you need to specify an alternate name to use as key, you can define your mapping as follow into the parser definition: parser = [ 'field_name:json_key' ]

New fields (0)

No new fields.

Public methods (1)
  • get_json_parser(self)
    @api.multi
    Creates a parser from ir.exports record and return it. The final parser can be used to "jsonify" records of ir.export's model.

New fields (1)
  • alias Char
    help='The complete path to the field where you can specify an alias on the a step as field:alias' args: 'Alias'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/10.0/base_jsonify
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYUncategorized
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSLaurent Mignon (ACSONE), David Beal, oca-travis, OCA-git-bot, Pierrick Brun, Pierrick brun
WEBSITE
WEBSITEhttps://github.com/OCA/server-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:59
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (1)
XML IDNameModelTypeStatus
view_ir_exports ir.exports form New
Models touched (3)

New fields (0)

No new fields.

Public methods (1)
  • jsonify(self, parser)
    @api.multi
    Convert the record according to the parser given Example of parser: parser = [ 'name', 'number', 'create_date', ('partner_id', ['id', 'display_name', 'ref']) ('line_id', ['id', ('product_id', ['name']), 'price_unit']) ] In order to be consistent with the odoo api the jsonify method always return a list of object even if there is only one element in input By default the key into the json is the name of the field extracted from the model. If you need to specify an alternate name to use as key, you can define your mapping as follow into the parser definition: parser = [ 'field_name:json_key' ]

New fields (0)

No new fields.

Public methods (1)
  • get_json_parser(self)
    @api.multi
    Creates a parser from a ir_exports record and returns it. This parser can then be used to "jsonify" records of the ir_export's model.

New fields (1)
  • alias Char
    help='The complete path to the field where you can specify an alias on the a step as field:alias' args: 'Alias'
Public methods (0)

No public methods.