Импорт строки заказа не распознает внешний идентификатор продукта? - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь импортировать заказы на покупку в odoo и по большей части разобрался со своими проблемами, однако я не могу обновить список продуктов, используя внешний идентификатор. я могу использовать идентификатор базы данных или название продукта, однако, если я пытаюсь использовать внешний идентификатор, я получаю эту ошибку:

вставка или обновление в таблице «purchase_order_line» нарушает ограничение внешнего ключа «purchase_order_line_product_id_fkey» ПОДРОБНЕЕ: Ключ (product_id) = (644) отсутствует в таблице «product_product». между строками 2 и 4

Может кто-нибудь объяснить мне, почему это происходит и что я должен сделать, чтобы это исправить?

1 Ответ

0 голосов
/ 15 января 2019

Полагаю, проблема в том, что вы используете Внешний XML-идентификатор из product.template записей вместо product.product.

Если бы это было так, вероятно, ваши product.product записи не будут иметь Внешний XML-идентификатор , поскольку они были созданы вручную в базе данных или путем импорта соответствующих шаблонов продуктов, или добавление атрибутов и значений атрибутов к этим шаблонам.

Если у вас возникла эта проблема, вы можете сгенерировать Внешние XML-идентификаторы для своих продуктов, только предварительно экспортировав их. Если вы экспортируете какую-либо запись без внешнего XML-идентификатора , эта запись автоматически создается в вашем файле экспорта в столбце id . Поэтому обходным решением будет выбрать все продукты (или лучше только те, которые вы собираетесь использовать), экспортировать их, получить их внешние XML-идентификаторы из экспортированного файла и использовать их для импорта purchase.order.line записи.

Проблемы этого решения

  • Внешние XML-идентификаторы, которые вы получаете из базы данных, не могут быть такими же, как те, которые вы получаете из другой другой базы данных, несмотря на то, что они имеют схожие продукты, поэтому файл импорта, созданный этим методом для конкретной базы данных, не может работа для других баз данных.

  • Внешние XML-идентификаторы хранятся в базе данных, поэтому, если вы создадите тысячи из них, база данных будет расти в зависимости от того, сколько продуктов вы экспортируете.

...