python - 如何使用CSV文件的记录id进行编程?

标签 python csv odoo-8 odoo

如果我有包含种子数据的 CSV 文件。然后我想使用该 CSV 文件中的记录进行编程。我怎样才能在 Odoo 中做到这一点?

例如

我的 CSV 种子文件 product.category.csv

id       name
ctgry_1  Custom Category

在我的模型中我想这样做:

product_template = self.env["product.template"]
product_new = product_template.create({
    "name" : "Custom Template",
    "categ_id" : # I want to use ctgry_1 here, but it does not work
})

我应该首先搜索我的类别 ID 吗?但这对我来说似乎是错误的。难道我们不能使用 CSV 中的标识符吗?

最佳答案

如果我理解得很好,你想将一些外部标识符转换为数据库 ID,对吗?然后你只需要像这样获取id:

product_template = self.env["product.template"]
product_new = product_template.create({
    "name" : "Custom Template",
    "categ_id" : self.env.ref('ctgry_1').id
})

无论如何,如果您使用 CSV 导入接口(interface)导入数据,您应该使用此格式:

"module_name.record_identifier" > "__import__.ctgry_1"

您可以在此处检查所有标识符:设置 > 序列和标识符 > 外部标识符

注意:如果您导出数据,则会自动创建记录的外部标识符。如果您使用外部标识符(id 列)导入数据,它也会分配给记录

关于python - 如何使用CSV文件的记录id进行编程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48763624/

相关文章:

python pandas多索引数据框选择

python - 如何运行 Odoo 测试 unittest2?

python - 查找特定 res.partner 位置的产品数量 - Odoo v8

python请求cookies日期格式

python - 使用 Python 和 Pandas 根据 Dataframe 内容重命名文件

python - 使用 ReportLab 处理大型 PDF 所需的时间呈指数级增长

python - 不在 Odoo v10 社区上进行查询的方法

python - Bool对象不支持item赋值

python - 使用python从csv文件中读取复数

parsing - Vb6:分隔制表符分隔的文本