'Override the set method to allow them to set the property to an instance of the item_type instead of requiring a list to be passed in'

def __set__(self, obj, value):

    if (self.item_type in six.integer_types):
        item_type = six.integer_types
    elif (self.item_type in six.string_types):
        item_type = six.string_types
    else:
        item_type = self.item_type
    if isinstance(value, item_type):
        value = [value]
    elif (value is None):
        value = []
    return super(ListProperty, self).__set__(obj, value)
