def fetch_rows_from_model(cls, req, eager=False): start_row = int(req['startRow']) end_row = int(req['endRow']) page_size = end_row - start_row table = cls.__table__ query = get_eager_query(cls) if eager else cls.query # query = build_select(table, req) query = build_where(query, table, req) query = build_limit(query, table, req) query = build_order_by(query, table, req) query = build_group_by(query, table, req) print(query) results = query.all() results_len = len(results) current_last_row = start_row + results_len last_row = current_last_row if current_last_row <= end_row else -1 rows = results[:page_size] # filter defendant redacted fields private_fields = getattr(cls, 'private_fields', None) if private_fields: for row in rows: for field in private_fields: try: del row[field] except: pass return {'rows': rows, 'last_row': last_row}
def get(self, case_number): return get_eager_query(CC).filter( CC.case_number == case_number).one()
def get(self, case_number): return get_eager_query(DSCR).filter( DSCR.case_number == case_number).one()
def get(self, case_number): return get_eager_query(ODYTRAF).filter( ODYTRAF.case_number == case_number).one()