code: def update(self, *objs):
          
          keys = self.keys()
          new_keys = get_objs_columns(objs, self.realfieldb)
  
          modified = False
          for v in new_keys:
              if v in keys:    #the id has been existed, so don't insert new record
                  keys.remove(v)
              else:
                  d = {self.fielda:self.valuea, self.fieldb:v}
                  if self.before_save:
                      self.before_save(d)
                  if self.through_model:
                      obj = self.through_model(**d)
                      obj.save()
                  else:
                      self.do_(self.table.insert().values(**d))
                  modified = True
                  
          if keys: #if there are still keys, so delete them
              self.clear(*keys)
              modified = True
          
          #cache [] to _STORED_attr_name
          setattr(self.instance, self.store_key, new_keys)
          
          return modified
docs: Update the third relationship table, but not the ModelA or ModelB