def search(self, cr, user, args, offset=0, limit=None, order=None, context=None, count=False): return self._search(cr, user, args, offset=offset, limit=limit order=order, context=context, count=count) |
def _search(self, cr, user, args, offset=0, limit=None, order=None, context=None, count=False, access_rights_uid=None): ..... query = self._where_calc(cr, user, args, context=context) self._apply_ir_rules(cr, user, query, 'read', context=context) order_by = self._generate_order_by(order, query) from_clause, where_clause, where_clause_params = query.get_sql() .... cr.execute('SELECT "%s".id FROM ' % self._table + from_clause + where_str + order_by + limit_str + offset_str, where_clause_params) |
def _where_calc(self, cr, user, domain, active_test=True, context=None): .... if 'active' in self._all_columns and (active_test and context.get('active_test', True)): if domain: if not any(item[0] == 'active' for item in domain): domain.insert(0, ('active', '=', 1)) else: domain = [('active', '=', 1)] .... |
欢迎光临 Odoo中文网|Odoo实施培训 (http://www.chinaodoo.net/) | Powered by Discuz! X3.2 |