Как получить все столбцы из идентификатора и фильтра для конкретного столбца? odoo9

python openerp odoo-9

262 просмотра

1 ответ

Я получаю идентификатор клиента по

customer = context.get('partner_id')
print customer

#output
#6

Теперь я хочу получить все значения всех столбцов, res.partnerоткудаid == 6

Это даст мне много записей, я думаю,

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

Или, если это возможно, я могу получить определенное значение столбцов не все. (это было бы прекрасно)

Если возможно, скажите мне, как это сделать old_apiиnew_api

Автор: maharshi Источник Размещён: 08.11.2019 11:32

Ответы (1)


3 плюса

Решение

Старый API

self.pool.get('res.partner').search(cr, uid, [('id', '=', customer)])

Это вернет список идентификаторов, которые соответствуют поиску, так что вам нужно позвонить, browseчтобы получить записи

Новый API

self.env['res.partner'].search([('id', '=', customer)])

чтобы получить только определенный столбец, вместо всех столбцов используйте search_readметод, который очень похож на поиск, только если он принимает второй аргумент, представляющий собой список интересующих вас атрибутов, и возвращает набор словарей вместо наборов записей. , так скажем, мы заинтересованы только в столбцеvalue

self.env['res.partner'].search_read([('id', '=', customer)], ['value'])

ваш результат должен выглядеть так

[{'id': 1, 'value': 'some value'}, ...]
Автор: danidee Размещён: 20.08.2016 04:02
Вопросы из категории :
32x32