Overslaan naar inhoud
Menu
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Deze vraag is gerapporteerd
3 Antwoorden
7565 Weergaven

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
Annuleer
Beste antwoord

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
Annuleer
Beste antwoord

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
Annuleer
Beste antwoord

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
Annuleer
Gerelateerde posts Antwoorden Weergaven Activiteit
4
mei 25
2085
2
mei 25
5398
1
mrt. 25
1321
4
mrt. 25
4095
3
feb. 25
5037