code: def get_object(cls, abbr):
          '''
          This particular model needs its own constructor in order to take
          advantage of the metadata cache in billy.util, which would otherwise
          return unwrapped objects.
          '''
          obj = get_metadata(abbr)
          if obj is None:
              msg = 'No metadata found for abbreviation %r' % abbr
              raise DoesNotExist(msg)
          return cls(objf get_object(cls, abbr):
          '''
          This particular model needs its own constructor in order to take
          advantage of the metadata cache in billy.util, which would otherwise
          return unwrapped objects.
          '''
          obj = get_metadata(abbr)
          if obj is None:
              msg = 'No metadata found for abbreviation %r' % abbr
              raise DoesNotExist(msg)
          return cls(obj)
docs: This particular model needs its own constructor in order to take
          advantage of the metadata cache in billy.util, which would otherwise
          return unwrapped objects.