Return the default value of the field. Returns either #default, the return
    value of #default_factory or raises a #RuntimeError if the field has no
    default value.

def get_default(self):
    """
    Return the default value of the field. Returns either #default, the return
    value of #default_factory or raises a #RuntimeError if the field has no
    default value.
    """

    if self.default is not NotImplemented:
      return self.default
    elif self.default_factory is not None:
      return self.default_factory()
    else:
      raise RuntimeError('{0!r} has no default value'.format(self.full_name))