Как использовать идентификатор записи файла CSV для программирования?

Если у меня есть файл 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
})

Должен ли я сначала выполнить поиск по моей категории? Но это показалось мне неправильным. Разве мы не можем использовать идентификатор из CSV?

1 ответ

Решение

Если я правильно понял, вы хотите преобразовать некоторый внешний идентификатор в идентификатор базы данных, верно? Тогда вам просто нужно получить идентификатор, как это:

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

В любом случае, если вы импортируете данные с помощью интерфейса импорта CSV, вы должны использовать этот формат:

"module_name.record_identifier" > "__import__.ctgry_1"

Вы можете проверить все идентификаторы здесь: Настройки> Последовательности и идентификаторы> Внешние идентификаторы.

Примечание. При экспорте данных внешний идентификатор записи создается автоматически. Если вы импортируете данные с внешним идентификатором (столбцы идентификаторов), они также присваиваются записи.

Другие вопросы по тегам