0
私はディスク・シリアライザを持って、私のディスクのシリアライザは怒鳴るです:Django-Rest-Frameworkのデータプロパティでデータを再構築する方法は?
class DiskSerializer(ModelSerializer):
diskessencetype_name = serializers.ReadOnlyField(source='diskEssenceType.name')
diskostype_name = serializers.ReadOnlyField(source='diskOsType.name')
class Meta:
model = Disk
fields = [
"id",
"price",
"diskessencetype_name",
"diskostype_name",
]
views.pyが怒鳴るです:
class DiskListAPIView(ListAPIView):
serializer_class = DiskSerializer
permission_classes = []
queryset = Disk.objects.all()
そして、それは怒鳴るようなデータを生成します。
[
{
"id": 4,
"price": "5.00",
"diskessencetype_name": "ssd",
"diskostype_name": "系统盘"
},
{
"id": 5,
"price": "6.00",
"diskessencetype_name": "sas",
"diskostype_name": "系统盘"
},
{
"id": 6,
"price": "5.00",
"diskessencetype_name": "sas",
"diskostype_name": "数据盘"
},
{
"id": 7,
"price": "6.00",
"diskessencetype_name": "sas",
"diskostype_name": "系统盘"
},
{
"id": 8,
"price": "6.00",
"diskessencetype_name": "sas",
"diskostype_name": "系统盘"
},
.....
]
しかし、私は検索して、データに縛られる制約をしたい:
{
"系统盘":[{"id":5, "diskessencetype_name":"sas", "price":5.00},.....]
"数据盘":[{"id":7, "diskessencetype_name":"ssd", "price":7.00},.....]
}
あなたはインスタンスのプロパティ(diskostype_name
)によって再構成していますが、それを実現するためのビルドインメソッドはありますか?
どのように再構築できますか?
あなたの答えのおかげで、私は自分のFacebookのIDを知ることができますか? – fanhualuojin154873
シリアライザでロジックを作成できますか? – fanhualuojin154873