Hi all,
I am familiar with the ORM API and how to use to create new rows in models,
However, when there is a field which is an image (type: binary), how are we supposed to update its contents through the API?
Thanks.
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
Hi all,
I am familiar with the ORM API and how to use to create new rows in models,
However, when there is a field which is an image (type: binary), how are we supposed to update its contents through the API?
Thanks.
Hi Alejandro:
Below Code Update One Product using Odoo XMLRPC you can change product_id and file_path
import base64
# Odoo API authentication
product_id=13
file_path = "/home/Estain/Documents/example.jpg"
with open(file_path, 'rb') as f:
data = f.read()
img = base64.b64encode
encoded_image_data = base64.b64encode(data)
ImageSend = encoded_image_data.decode('ascii')
# Update product record with new image
product = models.execute_kw(db, uid, password, 'product.template', 'write', [[product_id], {'image_1920': ImageSend,}])
How about attach to filestore, instead of database binary field ?
The code is fine, but the line "img = base64.b64encode" can be skipped
Hi Alejandro: You can try using python's base64 module to encode the content and pass it to the api.
관련 게시물 | 답글 | 화면 | 활동 | |
---|---|---|---|---|
|
1
12월 22
|
5432 | ||
write() vs update()
해결 완료
|
|
4
9월 20
|
41005 | |
|
2
11월 19
|
3137 | ||
|
1
4월 19
|
9712 | ||
|
2
8월 17
|
7786 |