python-3.x - 使用 Django 3.3 保存 JSON 数据
问题描述
众所周知,Django=3 支持JSONField。我正在尝试使用 JavaScript 在我的 Django 项目中保存 JSON 数据,我在输入字段中获取数据,如下所示:
[{"id":1,"Name":"Antenna","Pieces":"","Weight":"","Weight Types":"","Quantity":"12",
"Cargo Charge":"12","Customs Charge":"12"},
{"id":2,"Name":"Soap","Pieces":"12","Weight":"12","Weight Types":"","Quantity":"",
"Cargo Charge":"12","Customs Charge":"12"}]
从输入字段中,我使用.
product_list = self.request.POST['product_list_json']
因此,product_list_json
是 inout 字段的名称。但是保存的数据被赋予了不同的视图,保存的数据看起来像:
"[{\"id\":1,\"Name\":\"Antenna\",\"Pieces\":\"\",\"Weight\":\"\",\"Weight Types\":\"\",
\"Quantity\":\"12\",\"Cargo Charge\":\"12\",\"Customs Charge\":\"12\"},
{\"id\":2,\"Name\":\"Soap\",\"Pieces\":\"12\",\"Weight\":\"12\",\"Weight Types\":\"\",
\"Quantity\":\"\",\"Cargo Charge\":\"12\",\"Customs Charge\":\"12\"}]"
问题是,数据是用额外的“\”保存的。我能做些什么来解决这个问题?
解决方案
Django中的Jsonfield,接受一个字典或一个列表并将它们转换为JSON(str)并将它们保存在数据库中,只需从request.POST加载接收到的JSON并发送它就可以了。
推荐阅读
- csv - vbs 从 url 下载数据作为 csv 表
- c++ - 特征:修改行主要稀疏矩阵的行
- heroku - Heroku 管道删除了 Review Apps 的 buildpack 设置
- php - woocommerce 创建具有多个选择的复选框不起作用
- python-3.x - Python请求模块GET方法:处理包含%的参数中的分页标记
- python - 获取 Keras model.summary() 作为表
- python - Django客户端获取:TypeError:__init__()接受1个位置参数,但给出了2个
- python - 当使用 google calendar api for python 取消事件甚至事件系列时,如何删除它们?
- qt - 如何将点击事件添加到 QQuickItem?
- c++ - 为什么 std::literals 运算符在包含相应的标头时不会自动导出?