code: def reflect_table_model(table, mapping=None, without_id=False, engine_name='default'):
      
      table = reflect_table(table, engine_name)
      mapping = mapping or {}
      meta = reflect_table_data(table)
  
      code = ['class {}(Model):'.format(table.name.title())]
      code.append('''    """
      Description:
      """
  
      __tablename__ = '{}\''''.format(table.name))
  
      if sa_version >= '1.2' and table.comment:
          code.append('    __verbose_name__ = {}\n'.format(dumps(table.comment, bool_int=False)))
  
      #process id
      if 'id' not in meta['columns'] and without_id:
          code.append('    __without_id__ = True\n')
      # if _primary_key:
      #     code.append('    _primary_field = {}'.format(_primary_key))
  
      #output columns text
      for k, v in meta['columns'].items():
          kw = v[1].items()
          x_v = mapping.get(v[0])
          kwargs = ', '.join([v[0]] + ['{0}={1}'.format(x, dumps(y, bool_int=False)) for x, y in kw])
          if x_v:
              type_class = ' ,type_class={}'.format(x_v)
          else:
              type_class = ''
          txt = " "*4 + "{0} = Field({1}{2})".format(k, kwargs, type_class)
          code.append(txt)
  
      #output index text
      if meta['indexes']:
          code.append("""
      @classmethod
      def OnInit(cls):""")
      for index in meta['indexes']:
          buf = []
          buf.append(index['name'])
          for c in index['columns']:
              buf.append('cls.c.{}'.format(c))
          if index['unique']:
              buf.append('unique=True')
          code.append(' '*8 + 'Index({})'.format(', '.join(buf)))
  
      return '\n'.join(code)
docs: Write table to Model class