【发布时间】:2021-09-03 01:27:58
【问题描述】:
我正在为旧版应用程序公开一个 REST api。
我有一个公司模型类,它定义了以下字段:
- address_street(必填)
- address_street_number(必填)
- shipping_address_street(可选)
- shipping_address_street_number(可选)
- billing_address_street(可选)
- ...你明白了
我想将所有地址字段分组到一个地址序列化程序中,以使结构更清晰。 比如:
{
"adress": {"street": "foo", "street_number": "bar"},
"shipping_address": {"street": "ham", "street_number": "spam"},
"billing_address": null,
}
到目前为止,我可以从 rest_framework.serializers.Serializer 创建一个 CompanySerializer 并从中手动构建我的 Company 对象。
这很乏味,但它会起作用。
但是如何为我的 Company 模型构建 rest_framework.serializers.ModelSerializer,改变字段的结构方式,让我的模型字段由 rest 框架自动填充?
DRF nested model serializers 似乎只适用于关系,而不适用于字段组。
我是手动构建模型实例还是有办法将模型序列化程序的表示与我的对象解耦?
【问题讨论】:
标签: django django-rest-framework