Pun*_*ama 4 python django rest django-rest-framework
我有一个 Django 模型 Offer,其中包含名称 ... 和带宽值和带宽单位等字段。我使用 Django REST 框架类 ModelSerializer 来序列化我的模型。我有 :
{"id": 10,"max_devices":5,"bandwidth_value":"100.00","bandwidth_unit":"M"}
Run Code Online (Sandbox Code Playgroud)
我想要;
{"id": 10,"max_devices":5,"bandwidth":{"value":"100.00","unit":"M"}}
Run Code Online (Sandbox Code Playgroud)
我能怎么做 ?
您可以为您的Offer模型使用如下所示的自定义模型序列化程序:
class Offer(serializers.ModelSerializer):
class Meta:
model = Offer
fields = ('id', 'max_devices', 'bandwidth')
# We add a custom field called "bandwidth",
# which is served by a method in the serializer classs,
# that returns the format you want.
bandwidth = serializers.SerializerMethodField('get_bandwidth')
def get_bandwidth(self, obj):
return {'bandwidth': {'value': obj.bandwidth_value,
'unit': obj.bandwidth_unit}}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2904 次 |
| 最近记录: |