Автоматическое определение связанного поля при импорте в Odoo-12

#import #odoo #odoo-12

#импорт #odoo #odoo-12

Вопрос:

У меня возникла эта проблема в odoo во время импортавведите описание изображения здесь

Как я могу предотвратить их не импортировать и автоматически предоставлять поле связи, чтобы пользователю не приходилось выбирать какое-либо другое поле связи

Я уже пытался изменить первую строку моего файла .xlsx, где строка поля объявлена идентичной строке моих полей (буквально скопируйте и вставьте ее), но она по-прежнему не устанавливала поле связи автоматически

Ответ №1:

Если имя поля в заголовке не совпадает, вы увидите 'Don't import' заполнитель (нет данных для отображения).

После того, как вы нажмете на Load file и выберете файл XLSX, Odoo вызовет parse_preview из javascript, чтобы сгенерировать данные для показа пользователю. Он сгенерирует предварительный просмотр загруженного файла и выполнит сопоставление полей между данными файла импорта и столбцами модели.

matches Генерируются в _match_headers, который вызывает _match_header для попыток сопоставления данного заголовка с полем импортируемой модели. Он проверит, header совпадает ли с именем поля или строкой поля, если нет, он попытается проверить, соответствует ли переведенный заголовок строке поля. Если все предыдущие не увенчались успехом, он проверит наличие связанных полей, и если / их нет в заголовке, он вернет пустой список, что означает, что он не соответствовал, в противном случае он будет итеративно погружаться в дерево полей.

Поля, используемые для сопоставления заголовка, генерируются в методе get_fields, он будет рекурсивно получать поля для предоставленной модели (через fields_get ) и фильтровать их в соответствии с возможностью импорта.

Поле будет исключено из импортируемых полей, если:

Поле находится в черном списке или устарело.

Поле доступно только для чтения и не имеет атрибута никаких состояний или условие не определено для атрибута только для чтения в состояниях, когда поле доступно только для чтения.

Комментарии:

1. Отвечает ли это на ваш вопрос?