Skip to Content
Menu
This question has been flagged
3 Replies
7827 Views

Hi as we have a json type field in newer versions of odoo for adding analytic accounts etc.


My question is that how we can read and write data in this field with python?


Thankyou

Avatar
Discard
Best Answer

Hello,

In Odoo, JSON fields are used to store structured data in JSON format. To read and write data to a JSON field in Python, you can use the following approach:

1.Reading data from a JSON field:

   # Assuming you have a model called 'my.model' with a JSON field called 'json_field'

   record = self.env['my.model'].browse(record_id)

   json_data = record.json_field  # This will return a dictionary

2. Writing data to a JSON field:

   # Assuming you have a model called 'my.model' with a JSON field called 'json_field'

   record = self.env['my.model'].browse(record_id)

   # Update the JSON field with new data

   record.json_field = {'key': 'value', 'key2': 'value2'}


Hope it helps.

Avatar
Discard
Best Answer

You can also try to modify specific keys in the existing JSON data in the following way: 

record.json_field['key2'] = 'value3'

give it a try. Credits to ChatGPT. 

Avatar
Discard
Best Answer

Hi, do you know an easy way to update an existing key in the field or add a new one?

This doesn't seem to work and I had to use an extra dict

record.json_field['key_to_update'] = 'new value'

Avatar
Discard
Related Posts Replies Views Activity
4
May 25
2383
2
May 25
5730
1
Mar 25
1576
4
Mar 25
4375
3
Feb 25
5349