В 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