code: def _load(self, event):
          
          if not event.data:
              return
  
          context = self.context()
          schema = self.schema()
          dbname = schema.dbname()
          clean = {}
  
          for col, value in event.data.items():
              try:
                  model_dbname, col_name = col.split('.')
              except ValueError:
                  col_name = col
                  model_dbname = dbname
  
              # make sure the value we're setting is specific to this model
              try:
                  column = schema.column(col_name)
              except orb.errors.ColumnNotFound:
                  column = None
  
              if model_dbname != dbname or (column in clean and isinstance(clean[column], Model)):
                  continue
  
              # look for preloaded reverse lookups and pipes
              elif not column:
                  self.__preload[col_name] = value
  
              # extract the value from the database
              else:
                  value = column.dbRestore(value, context=context)
                  clean[column] = value
  
          # update the local values
          with WriteLocker(self.__dataLock):
              for col, val in clean.items():
                  default = val if not isinstance(val, dict) else val.copy()
                  self.__values[col.name()] = (default, val)
                  self.__loaded.add(col)
  
          if self.processEvent(event):
              self.onLoad(event)
docs: Processes a load event by setting the properties of this record
          to the data restored from the database.
  
          :param event: <orb.events.LoadEvent>