/ / В Django Rest Framework, как мога да сериализирам стойностите в масив от стойности, а не в масив от обекти? - django, json, django-модели, django-rest-framework

В Django Rest Framework, как мога да сериализирам стойностите на масив от стойности, а не на масив от обекти? - django, json, django-модели, django-rest-framework

В Django Rest Framework, как мога да сериализирам стойностите на масив от стойности, а не на масив от обекти? Ето пример за моя кодиран сериализатор:

class NodeTagSerializer(serializers.ModelSerializer):
class Meta:
model = NodeTag
fields = (
"name",
)


class NodeTreeSerializer(serializers.ModelSerializer):
tags = NodeTagSerializer(required=False)

class Meta:
model = NodeTree
fields = (
"tags",
)

Това се връща:

"tags": [
{"name": "Tag1"},
{"name": "Tag2"}
]

Но аз искам:

"tags": [
"Tag1",
"Tag2"
]

Отговори:

3 за отговор № 1

Можете да замените метода to_native (), за да върнете директно (непроверено) името на маркера:

class NodeTagSerializer(serializers.ModelSerializer):
def to_native(self, obj):
return obj.name

2 за отговор № 2

Отговорът на това се промени в v3. Новият начин да го направите е:

class NodeTagSerializer(serializers.ModelSerializer):
def to_representation(self, obj):
return obj.name