如何使用Django REST框架更改OPTIONS返回的json中返回的字段元数据类型



我目前正在编写一个自动化脚本,从Django端点中的模型中提取元数据类型,我正试图将其连接到swift。

使用Django Rest Framework时,如何将字段数据类型的信息传递给前端?

前面关于堆栈交换的问题解释了如何使用OPTIONS字段从我的模型中提取元数据;然而,我遇到了一个问题,即并非所有返回的字段都是详细的。特别是,外键字段没有指定正确的元数据类型。

例如

"created_by_merchant": {
"type": "field",
"required": false,
"read_only": true,
"label": "Created by merchant"
}
"item_size_selection": {
"type": "field",
"required": false,
"read_only": false,
"label": "Item size selection"
}

两者都是外键。由商家创建的应为整数,item_size_selection应为charfield。有什么方法可以在OPTIONS中指定特定字段的类型吗?

找到了解决问题的方法。在序列化程序中,可以使用source将外键指定为其特定的序列化程序字段。

这里有一个例子:

created_by_merchant = serializers.IntegerField(source='created_by_merchant_id', read_only=True)

不知道为什么我需要再次添加read_only字段,尽管它在元类中指定了,但它需要在那里进行匹配才能使用只读字段。

最新更新