跳至內容
選單
此問題已被標幟
2 回覆
11900 瀏覽次數

I have a CSV with some data related to products and a Custom Module. How can I make my custom module to store the data into the product table (database) when the module gets installed. 

Assume that the CSV (with product data) is also included in module. If some fields from CSV are not present in the product table, it should get created automatically in the table.

Can someone please help me to understand how the CSV reading data works and how can I achieve this?




頭像
捨棄
最佳答案

Take a look at the l10n_uk module.  This module imports a CSV file to populate UK Counties.

https://github.com/odoo/odoo/tree/10.0/addons/l10n_uk


You can see in the __manifest__ file of the module the direction to import the file:

'data': [ 
   'data/res.country.state.csv',
],

Also at https://github.com/odoo/odoo/blob/10.0/addons/l10n_uk/__manifest__.py#L26


The CSV file looks like this:

"id","country_id:id","code","name"

"state_uk_1","base.uk","A1","Aberdeenshire"
"state_uk_2","base.uk","A5","Angus"
"state_uk_3","base.uk","A7","Argyll"
"state_uk_4","base.uk","A9","Avon"
"state_uk_5","base.uk","B1","Ayrshire"
"state_uk_6","base.uk","B3","Banffshire"
"state_uk_7","base.uk","B5","Bedfordshire"
"state_uk_8","base.uk","B7","Berkshire"
"state_uk_9","base.uk","B9","Berwickshire"
"state_uk_10","base.uk","C1","Buckinghamshire"
"state_uk_11","base.uk","C3","Caithness"

Also at https://github.com/odoo/odoo/blob/10.0/addons/l10n_uk/data/res.country.state.csv


Which imports these records into Odoo:



Also, see:

https://www.odoo.com/documentation/10.0/reference/data.html#csv-data-files


頭像
捨棄
作者 最佳答案

Hi Ray,

Thanks for your kind help. This worked for me well. I just exported the csv of my custom model. Then I put that csv in module with some other data, specified the location in __manifest__.file. Finally installed the module on a new database and all worked fine.

頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
1
11月 24
20300
1
9月 23
3113
3
5月 23
5689
7
4月 23
49078
1
12月 22
7912