diff --git a/reactivated/fields.py b/reactivated/fields.py index 7296a845..0d3ca5e4 100644 --- a/reactivated/fields.py +++ b/reactivated/fields.py @@ -408,8 +408,8 @@ def get_enum_name(self) -> str: def db_type(self, connection: Any) -> Optional[str]: if connection.settings_dict["ENGINE"] != "django.db.backends.postgresql": raise DatabaseError("EnumField is only supported on PostgreSQL") - return f"{self.get_enum_name()}[]" - # return super().db_type(connection) + # return f"{self.get_enum_name()}[]" + return super().db_type(connection) def __init__(self, *args, **kwargs) -> None: self.enum = kwargs.pop("enum") diff --git a/tests/fields.py b/tests/fields.py index 7fde60ad..d5d5e387 100644 --- a/tests/fields.py +++ b/tests/fields.py @@ -70,6 +70,20 @@ class Meta: assert form.instance.hemisphere == models.Continent.Hemisphere.NORTHERN +@pytest.mark.django_db +def test_enum_array_field(): + continent = models.Continent.objects.create(name="Europe") + birth_country = models.Country.objects.create(name="Germany", continent=continent) + other = models.Country.objects.create(name="Switzerland", continent=continent) + + composer = models.Composer.objects.create(name="Wagner") + models.ComposerCountry.objects.create( + composer=composer, country=birth_country, was_born=True + ) + models.ComposerCountry.objects.create(composer=composer, country=other) + opera = models.Opera.objects.create(name="Götterdämmerung", composer=composer) + + def test_enum_form_field(): class EnumForm(forms.Form): enum_form_field = EnumChoiceField(enum=EnumTest)