2015-04-06 6 views
0

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

Например, у меня есть это в моей базе данных, я хочу использовать функцию поиска, чтобы получить идентификатор, где моя цена больше, чем MIN_PRICE, и ниже моего MAX_PRICE. В моем случае, когда цена 500 Я хочу, чтобы вернуться ID 2.

SQL Пример: WHERE price > MIN_PRICE ANDnd price > MAX_PRICE

ID  MIN_PRICE  MAX_PRICE 
1    0    100 
2   101   1000 
3   1001   10000 
4   10001   100000 

Я попытался следующие с ценой мин, но без успеха:

self.search(cr, uid, [(self.browse(cr, uid, ids).min_price,'in', price_untaxed)]) 
+0

Пожалуйста разработать более ваш вопрос – Deep

+0

@DeftSoftInformatics я не знаю, что я могу добавить больше. Мне просто нужно получить идентификатор, где моя цена находится в MIN_PRICE и MAX_PRICE – RandomPerson

+0

Использовать между предложением Mysql. – Deep

ответ

1

Поиск занимает поиска домена и возвращает набор записей совпадающих записей.

Домен - это список критериев, каждый из которых является тройкой (либо списком, либо кортежем) (имя_поля, оператор, значение).

Более подробную информацию о домене: https://stackoverflow.com/a/14618598/3374651

Для v8:

self.search([('price', '=', MIN_PRICE), ('price', '=', MAX_PRICE)]) # Will return list of matched recordset 

Для v7:

self.pool.get("model_name").search(cr, uid, [('price', '=', MIN_PRICE), ('price', '=', MAX_PRICE)], context=context) # Will return list of matched ids 
0

вы можете использовать следующую

self.search(cr, uid, [('price','>','MIN_PRICE'),('price','<','MAX_PRICE')],context=context) 
0

в методе поиска вам необходимо передать домен (критерии для фильтрации). Метод поиска дает вам список идентификаторов [] назад.

self.search(cr, uid, [('price','>','MIN_PRICE'),('price','<','MAX_PRICE')],context=context) 

или

self.pool.get('model_name').search(cr, uid, [('price','>','MIN_PRICE'),('price','<','MAX_PRICE')],context=context) 
Смежные вопросы