odoo14開發之指令碼自動生成程式碼
阿新 • • 發佈:2021-06-20
通過解析excel,自動生成odoo程式碼實現
一、首先做一個欄位配置的excel模板
第二步、讀取excel裡面的模板,並寫入到txt檔案裡
邏輯程式碼:
# -*- coding: utf-8 -*- import xlrd import sys from importlib import reload reload(sys) excel_data = 'E:\\odoo14\\odoo14\\myaddons\\demo_data.xlsx' excel_obj = xlrd.open_workbook(excel_data) sh = excel_obj.sheets()[0] #取第一個sheet頁 for row in range(1, sh.nrows): row_n = row + 1 field1 = sh.cell(row, 0).value # 邏輯名 field2 = sh.cell(row, 1).value # 欄位型別 field3 = sh.cell(row, 2).value # 模型名 field4 = sh.cell(row, 3).value # 顯示名
# 如果一個表裡面存在同一模型的 Many2many欄位,需要指定中間表,下面邏輯得修改一下 if field2 in['Many2one', 'Many2many']: content = '%s = fields.%s(%s,string=u"%s")\r\n' % (field1, field2, field3, field4) else: content = '%s = fields.%s(string=u"%s")\r\n' % (field1, field2, field4) f = open('E:\\odoo14\\odoo14\\myaddons\\demo_data.txt', 'a+', encoding='utf-8') f.write(content) f.seek(0) f.close()
最後生成效果