Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Django REST框架更改选项返回的json中返回的字段元数据类型?_Json_Django_Types_Metadata_Options - Fatal编程技术网

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

如何使用Django REST框架更改选项返回的json中返回的字段元数据类型?,json,django,types,metadata,options,Json,Django,Types,Metadata,Options,我目前正在编写一个自动脚本,从Django端点中的模型中提取元数据类型,我正在尝试将其连接到swift 上一个关于堆栈交换的问题解释了如何使用选项字段从我的模型中提取元数据;然而,我遇到了一个问题,不是所有返回的字段都是详细的。特别是,外键字段没有指定正确的元数据类型 比如说, "created_by_merchant": { "type": "field", "required": false, "read_only": true, "label": "Created by merchant

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

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

比如说,

"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"
}

两者都是外键。商户创建的商品应为整数,商品大小选择应为字符域。有什么方法可以指定选项中特定字段的类型吗?

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

以下是一个例子:

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

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

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

以下是一个例子:

created_by_merchant = serializers.IntegerField(source='created_by_merchant_id', read_only=True)
我不知道为什么我需要再次添加只读字段,即使它是在元类中指定的,但它需要在那里进行匹配才能使用只读