code: def dbRestore(self, db_value, context=None):
          
          if isinstance(db_value, (str, unicode)) and db_value.startswith('{'):
              try:
                  db_value = projex.text.safe_eval(db_value)
              except StandardError:
                  log.exception('Invalid reference found')
                  raise orb.errors.OrbError('Invalid reference found.')
  
          if isinstance(db_value, dict):
              cls = self.referenceModel()
              if not cls:
                  raise orb.errors.ModelNotFound(schema=self.reference())
              else:
                  load_event = orb.events.LoadEvent(data=db_value)
  
                  # update the expansion information to not propagate to references
                  if context:
                      context = context.copy()
                      expand = context.expandtree(cls)
                      sub_expand = expand.pop(self.name(), {})
                      context.expand = context.raw_values['expand'] = sub_expand
  
                  db_value = cls(loadEvent=load_event, context=context)
  
          return super(ReferenceColumn, self).dbRestore(db_value, context=context)
docs: Extracts the db_value provided back from the database.
  
          :param db_value: <variant>
          :param context: <orb.Context>
  
          :return: <variant>