Как получить значение связанного поля из базы данных в odoo 11 и postgresql? - PullRequest
1 голос
/ 28 июня 2019

Я пытаюсь получить значение связанного поля из базы данных, но оно показывает столбец 'column_name' не существует .

Когда я пытаюсь выяснить значение product_id или используя объединение, чтобы найти общие данные между sale.order и product.product Model. но столбец с именем column_name не существует.

В модели sale.order определение поля похоже на

product_id = fields.Many2one('product.product', related='order_line.product_id', string='Product')

Но когда я пытаюсь объединить две таблицы, как показано ниже, код для извлечения всех данных по продукту, как показано ниже.

select coalesce(p.name,'Unassigned Product'), count(*) from sale_order o left join product_product p on o.product_id = p.id where o.state = 'sale' group by p.name;

Показано ниже ошибки,

column o.product_id does not exist
LINE 1: ... from sale_order o left join product_product p on o.product_...

Когда я пытаюсь получить данные из таблицы sale_order, как показано ниже.

select product_id from sale_order; 

Показано ниже ошибки.

column "product_id" does not exist

Может ли кто-нибудь помочь мне получить это значение.

1 Ответ

1 голос
/ 28 июня 2019

Чтобы получить доступ к связанному полю из базы данных, вы должны использовать ключевое слово store=True.Перепишите определение поля как

product_id = fields.Many2one('product.product', related='order_line.product_id', string='Product', store=True)

и удалите и установите модуль.

...