'If the property exists, returns its value. Otherwise sets it to value.
If the property name is the empty string or not a string, raises
BadPropertyError. If the value is not a supported type, raises
BadValueError.'

def setdefault(self, name, value):

    datastore_types.ValidateProperty(name, value)
    return dict.setdefault(self, name, value)
