'Fetch a row from the db representing a model
Only fetch columns specified in the fileds of the model
:param row_id: the numeric value of the `ID` column of the table
:type row_id: integer
:returns: the row whose `ID` column is row_id'

def _fetch_row_from_db(self, row_id):

    fields = ',    '.join(self._fields)
    sql = ('SELECT    %s    FROM    %s    WHERE    ID=%%s' % (fields, self.__table))
    rows = _db.execute(sql, (row_id,))
    if (not rows):
        raise DBError(('row    not    found    (table=%s,    row    id=%s)' % (self.__table, row_id)))
    return rows[0]
