我有一个ModelSerializer:
class WorkOrderRetrieveSerializer(ModelSerializer):
workordercomments = WorkOrderCommentForWorkOrderSerializer(many=True, read_only=True)
class Meta:
model = WorkOrder
fields = "__all__"
JSON数据如下:
{
"id": 1,
"workordercomments": [
.....
{
"id": 21,
"content": "test files",
"files": "[71]",
"ctime": "2018-01-11T11:03:17.874268+08:00",
"uptime": "2018-01-11T11:03:17.874362+08:00",
"workorder": 1,
"comment_user": {
"id": 5,
"username": "test03",
"is_admin": true
}
}
],
"workorder_num": "WON15118747168252",
"name": "order01",
"content": "first conntetn",
"workordertype": "teck",
"workorder_status": "created",
"user_most_use_email": "lxas@128.com",
"server_id": null,
"public_ip": null,
"belong_area": null,
"files": null,
"ctime": "2017-11-28T21:11:56.826971+08:00",
"uptime": "2017-11-28T21:11:56.827064+08:00",
"to_group": 3,
"user": 2
}
我的JSON中的"files": "[71]",
是包含文件id
的组的字符串
workordercomments
是工作订单的相关名称
我想在JSON workordercomments
中显示files
如下:
{
"id": 21,
"content": "test files",
"files": "['/media/images/xxxxx.png']",
"ctime": "2018-01-11T11:03:17.874268+08:00",
"uptime": "2018-01-11T11:03:17.874362+08:00",
"workorder": 1,
"comment_user": {
"id": 5,
"username": "test03",
"is_admin": true
}
}
我想要的“files”值是链接,而不是它的id
"files": "['/media/images/xxxxx.png']",
或者
"files": ['/media/images/xxxxx.png'],
是否可以自定义格式?我应该实现序列化程序中的什么函数吗
您需要根据文档实现一个定制的serialzier,并覆盖ModelSerializer生成的默认值
例如:
根据
__str__
值在文件模型上的方式,您可以执行以下操作:相关问题 更多 >
编程相关推荐