Django बाकी फ्रेमवर्क में, मैं वस्तुओं की एक सरणी के बजाय मूल्यों की एक सरणी के लिए मूल्यों को कैसे अनुक्रमित करूं? यहाँ मेरे क्रमिक कोड का एक नमूना है:
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