DRF - SerializerMethodField для NestedSerializer - PullRequest
0 голосов
/ 14 января 2019

У меня есть следующий сериализатор: -

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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...