我有一个带有id和标签的模型:
class Widget(models.Model):
label = models.TextField()
我想序列化标签和id,所以我有一个像这样的序列化器:
class WidgetSerializer(serializers.ModelSerializer):
class Meta:
model = Widget
fields = ('id', 'label')
这给了我一个像{"id": 61, "label": "Super Widget"}
这样的序列化。但是,我需要在不更改模型的情况下为序列化提供不同的标签(例如{"widget_id": 61, "widget_name": "Super Widget"}
),因为它在不同的地方使用。有没有办法告诉序列化程序使用不同的标签序列化字段?
答案 0 :(得分:1)
我认为使用“serializers.ModelSerializer”无法实现这一点,但您可以使用“serializers.Serializer”来实现它。
尝试这样的事情:
class CommentSerializer(serializers.Serializer):
id = serializers.IntegerField(label="widget_id")
label = serializers.CharField(label="widget_name")
有关详细信息:http://www.django-rest-framework.org/api-guide/fields/#serializer-fields 例如:http://hackersome.com/p/jezdez/django-serializers