code: def insert(self,*args,**kw):
          
          if args:
              kw = dict([(f,arg) for f,arg in zip(self.fields,args)])
  
          ks = kw.keys()
          s1 = ",".join(ks)
          qm = ','.join(['?']*len(ks))
          sql = "INSERT INTO %s (%s) VALUES (%s)" %(self.name,s1,qm)
          self.cursor.execute(sql,kw.values())
          # return last row id
          return self.cursor.lastrowid
docs: Insert a record in the database
          Parameters can be positional or keyword arguments. If positional
          they must be in the same order as in the create() method
          If some of the fields are missing the value is set to None
          Returns the record identifier