首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在odoo方法中如何将数据库id作为many2one字段

在odoo方法中如何将数据库id作为many2one字段
EN

Stack Overflow用户
提问于 2018-05-09 09:54:16
回答 1查看 197关注 0票数 0

我试图创建记录(类别,产品.)在odoo v10中批量使用load orm方法。

我遇到的问题是如何将m2o字段引用为数据库id。

代码语言:javascript
复制
# get list of categ name from input data
parent_categ_codes = [categ['name'] for categ in categ_data]
# get product.category by name
parent_categ_objs = self.env['product.category'].search([('name','in',parent_categ_codes)])
parent_dict = {categ.name: categ for categ in parent_categ_objs}
data = []
fields_name = ['name', 'parent_id']
# populate data
for categ in categ_data:
# this works but very slow beacuse of name_search lookup
    data.append([categ['name'], parent_dict[categ['parent_id']].name])
self.env['product.category'].load(fields_name,data)

如何才能将parent_id作为id创建一个引用?

data.append([categ['name'], parent_dict[categ['parent_id']].id])不工作

参考链接

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-09 13:21:51

终于弄清楚了。就像这样

代码语言:javascript
复制
fields_name = ['name', 'parent_id/.id']

然后

代码语言:javascript
复制
cl['ClassName'], parent_dict[cl['Deps']].id

会起作用的。fields_name = ['name', 'parent_id/id']也适用于外部id,即xml id。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50250451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档