Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
3 Odpovědi
7561 Zobrazení

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
Zrušit
Nejlepší odpověď

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
Zrušit
Nejlepší odpověď

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
Zrušit
Nejlepší odpověď

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
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
4
kvě 25
2081
2
kvě 25
5393
1
bře 25
1319
4
bře 25
4094
3
úno 25
5034