diff --git a/eav/models.py b/eav/models.py index d5057d3..32a028e 100644 --- a/eav/models.py +++ b/eav/models.py @@ -287,7 +287,7 @@ class Attribute(models.Model): ) if self.datatype == self.TYPE_ENUM_MULTI: - value = [v.value if isinstance(value, EnumValue) else v for v in value] + value = [v.value if isinstance(v, EnumValue) else v for v in value.all()] if self.enum_group.values.filter(value__in=value).count() != len(value): raise ValidationError( _('{val} is not a valid choice for {attr}').format(val = value, attr = self) diff --git a/eav/validators.py b/eav/validators.py index 999f233..6f1bb7d 100644 --- a/eav/validators.py +++ b/eav/validators.py @@ -103,6 +103,6 @@ def validate_enum_multi(value): """ from .models import EnumValue - for single_value in value: + for single_value in value.all(): if isinstance(single_value, EnumValue) and not single_value.pk: raise ValidationError(_(u"EnumValue has not been saved yet"))