DRF - SerializerMethodField для NestedSerializer

У меня есть сериализатор, как следует:-

class ABCSerializer(serializer.ModelSerializer):

    class XYZSerializer(serializers.Serializer):

        a = serializers.CharField(default='abcd') #Try1:- Setting default values.
        b = serializers.IntegerField(default=1)
        c = serializers.ListField(default=[''])

        def get_attribute(self, instance): # Try 2. This works only when many != True.
            return [
            {
            'a': 'abcd',
            'b': 1,
            'c': []
            }]

    field1 = XYZSerializer(many=True)

    def get_field1(self, instance):  # Try 3
        return [
            {
            'a': 'abcd',
            'b': 1,
            'c': []
            }
        ]

    class Meta:
        fields = ('uuid', 'field1')
        extra_kwargs = {
            'uuid': {'source': 'user_id'}
        }

Я хочу вернуть значение по умолчанию XYZSerializer, Как мне это сделать?

Я пробовал перебегать get_attribute из XYZSerializer, но это работает только тогда, когда many != True, Я также пытался get_field1, но безрезультатно.

Как я могу передать значение по умолчанию XYZSerializer?

0 ответов

Другие вопросы по тегам