Установить список данных в модели через APIView

У меня есть модель django, в которой я храню данные через пост запрос, в API View как мне иметь поле Array в модели django

Class MyModel(models.Model):
    field_1 = ArrayField(models.CharField())
    field_2 = ArrayField(models.CharField())



class MySerializer(serializers.ModelSerializer):
    class Meta:
        model = MyModel
        fields = ('field_1', 'field_2')


class MyApiView(CreateAPIView):
    def my_method():
        validated_data = MySerializer.data
        field_1 = validated_data.get('field_1', [])
        field_2 = validated_data.get('field_2', [])
        obj = serializer.save()
        obj.field_1.append(field_1)
        obj.field_1.append(field_2)
        obj.save()

когда я добавляю данные в поле_1 в модели, оно сохраняется как список list field_1 = [['a', 'b', 'c']], но желаемый результат должен быть field_1 = ['a', 'b', 'c'], как я могу этого добиться

Вы получаете список списков, потому что вы добавляете списки field_1 и field_2 в obj.field_1. На самом деле вам нужно расширить список obj.field_1 следующим образом:

obj.field_1.extend(field_1)
obj.field_1.extend(field_2)
obj.save()

Ор:

obj.field_1 += field_1
obj.field_1 += field_2
obj.save()
Вернуться на верх