code: def get_field(self, name):
          
          # We only make the wrappers here (lazily) to avoid creating a ton of objects needlessly.
          field = self._wrapped_fields.get(name)
          if field is None:
              is_fake = False
              field = self._get_internal_field_by_name(name)
              if field is None:
                  # Might be a "fake" field in JSON
                  is_fake = self._is_fake_field(name)
                  if not is_fake:
                      raise AttributeError("No such field %s" % name)
              field = self._make_wrapped_field(name, field, is_fake=is_fake)
              self._wrapped_fields[name] = field
          return field
docs: Gets a field by its full or partial name.