【发布时间】:2020-07-28 14:56:31
【问题描述】:
在我的 Django 应用程序中,我从序列化程序获取数据,如下所示:
{
"id": 98,
"flows": [
{
"id": 99,
"asked_quantity": 14,
"alloted_quantity": 14,
"flow": 1,
"kit": 1 #this
}
],
"transaction_no": 2317,
"dispatch_date": "2020-07-27T04:42:46.356000Z",
"is_delivered": false,
"model": "Rent",
"driver_name": "__________",
"driver_number": "__________",
"lr_number": 0,
"vehicle_number": "__________",
"freight_charges": 0,
"vehicle_type": "Part Load",
"expected_delivery": "2020-07-27T04:42:46.356000Z",
"remarks": "0",
"send_from_warehouse": 1, #this
"sales_order": 98,
"transport_by": 4,
"owner": 2
},
Flows 是一个多联字段,我只想从流和 send_from_warehouse 中扩展 kit,但是当我增加深度时,所有相关字段都会扩展。
这是我尝试这样做的方法:
class KSerializer(serializers.ModelSerializer):
class Meta:
model = Kit
fields = "__all__"
class WSerializer(serializers.ModelSerializer):
class Meta:
model = Warehouse
fields = "__all__"
class AFSerializer(serializers.ModelSerializer):
kit = KSerializer(many=True)
class Meta:
model = AllotmentFlow
fields = "__all__"
class AReportSerializer(serializers.ModelSerializer):
flows = AFSerializer(many=True)
send_from_warehouse = serializers.RelatedField(source='warehouse.pk', read_only=True)
class Meta:
model = Allotment
fields = "__all__"
但我收到了错误消息,即“kitsis not serializable andsend_from_warehouse”从 JSON 中消失。
请解释为什么会发生这种情况以及正确的方法是什么
【问题讨论】:
标签: django serialization django-rest-framework