前面有一篇文章分析了如何使用2个分开的文件分别将外部数据导入到odoo对应的系统当中,如之前所说,是存在缺点的,现在测试将所有数据放入一个文件中将主表与从表的数据一次性导入,这样可以很方便的利用odoo自身的功能,可以避免掉不必要的额外开发工作。具体步骤如下:
1.准备我们的csv文件。
文件的格式要求:主表字段一一罗列出来,从表字段格式特殊,是主表的one2many那个字段+从表具体字段,如 group_id/name.
那么在我们这儿的具体格式是:id,word,sequence,chinese_mean,lexicon_explain_ids/english_mean,lexicon_explain_ids/order,lexicon_explain_ids/raw_html_mean,lexicon_explain_ids/gram,lexicon_explain_ids/chinese_mean
2.具体行的数据设置
我们这两个表之间的关系是一对多的关系,主表的一条数据可能对应从表的多条数据,按照我们正常的逻辑应该是主表的部分数据都是相同的,从表有几条数据那么主表就有几条,这样理解没有什么问题,但是每个系统的开发哲学不一样,odoo在处理这一情况的时候,仅仅第一条数据要求主表是必须的,第二条之后的主表字段放置为空,从表部分正常放置数据。
大概的效果是如下图所示:
这样是不是可以使我们的文件大大减少不少数据呢,可以提高导入数据的效率。
3.准备导入工作。
选择我们处理好的文件,点击测试按钮,系统提示"Everything seems valid". 然后继续我们后面的工作。
到这里,算是对上篇导入外部数据的一个完善吧,也基本了解了对odoo数据导入导出的基本规则和应用,更多的是依赖了框架为我们提供的功能。但我们还会有我们自己个性化的需求,需要我们自己解析excel/csv文件,进行业务处理,下一步的工作就是,自己在odoo中如何解析文件的问题。