DRF и PostgreSQL: ArrayField возвращается как массив символов

У меня есть модель Contact с полем следующего вида:

#models.py

address = ArrayField(models.CharField(max_length=255, null=True), default=list)

Это хранит массив адресов электронной почты. Я создаю api и хочу, чтобы он возвращался как массив адресов электронной почты в виде строк, но вместо этого я получаю массив символов (как на скриншоте). Может кто-нибудь подсказать мне, что делать?

Мой сериализатор:

class ContactSerializer(serializers.ModelSerializer):
    class Meta:
        model = Contact
        fields = '__all__'

Выход: output

Пробовали ли вы использовать ListField?

class ContactSerializer(serializers.ModelSerializer):
    class Meta:
        model = Contact
        fields = '__all__'

    address = serializers.ListField(child=serializers.CharField())

Для устранения проблемы можно попробовать сбросить базу данных. Иногда миграция не помогает. @WillemVanOnsem прав, поле ArrayField было сохранено как строка, а не массив, поэтому оно выводится в виде списка символов

Вернуться на верх