def table_query(cls): Opportunity = Pool().get('sale.opportunity') opportunity_history = Opportunity.__table_history__() columns = [ Min(Column(opportunity_history, '__id')).as_('id'), opportunity_history.id.as_('opportunity'), Min( Coalesce(opportunity_history.write_date, opportunity_history.create_date)).as_('date'), Coalesce(opportunity_history.write_uid, opportunity_history.create_uid).as_('user'), ] group_by = [ opportunity_history.id, Coalesce(opportunity_history.write_uid, opportunity_history.create_uid), ] for name, field in cls._fields.iteritems(): if name in ('id', 'opportunity', 'date', 'user'): continue if hasattr(field, 'set'): continue column = Column(opportunity_history, name) columns.append(column.as_(name)) group_by.append(column) return opportunity_history.select(*columns, group_by=group_by)
def table_query(cls): Opportunity = Pool().get('sale.opportunity') opportunity_history = Opportunity.__table_history__() columns = [ Min(Column(opportunity_history, '__id')).as_('id'), opportunity_history.id.as_('opportunity'), Min(Coalesce(opportunity_history.write_date, opportunity_history.create_date)).as_('date'), Coalesce(opportunity_history.write_uid, opportunity_history.create_uid).as_('user'), ] group_by = [ opportunity_history.id, Coalesce(opportunity_history.write_uid, opportunity_history.create_uid), ] for name, field in cls._fields.iteritems(): if name in ('id', 'opportunity', 'date', 'user'): continue if hasattr(field, 'set'): continue column = Column(opportunity_history, name) columns.append(column.as_(name)) group_by.append(column) return opportunity_history.select(*columns, group_by=group_by)
def table_query(cls): pool = Pool() Product = pool.get('product.product') product = Product.__table__() columns = [] for fname, field in cls._fields.items(): if not hasattr(field, 'set'): if (isinstance(field, fields.Many2One) and field.get_target() == Product): column = Column(product, 'id') else: column = Column(product, fname) columns.append(column.as_(fname)) return product.select(*columns)
def table_query(cls): pool = Pool() Lot = pool.get('stock.lot') lot = Lot.__table__() columns = [] for fname, field in cls._fields.items(): if not hasattr(field, 'set'): if (isinstance(field, fields.Many2One) and field.get_target() == Lot): column = Column(lot, 'id') else: column = Column(lot, fname) columns.append(column.as_(fname)) return lot.select(*columns)