def set_python(self, value):
        if not self.multiselect:
            if value and not isinstance(value, list):
                value = [value]
        value = value or []
        records = SortedDict()
        for record in value:
            self.validate_value(record)
            records[record.id] = record
        return_value = self._set(records)
        self.record._raw['values'][self.id] = self.get_swimlane()
        return return_value