django将后台model对象转换成json对象并传递给前端jquery


1、django的model转json对象。
1.1、单个modle转换,返回json对象:
sqlOrder = get_object_or_404(SqlOrder,id=request.GET.get("id"))
objJson = serialize('json',[sqlOrder])[1:-1]
{"model": "sqlapply.sqlorder", "pk": 2, "fields": {"work_id": "{now}{_ran}", "username": "admin", "status": 3, "type": 0, "backup": 0}}
注意:objJson["fields"]["username"] 才能获得想要属性值。objJson["pk"]获得主键值。


1.2、querySet转换:
json_data = serializers.serialize("json", MyModel.objects.all())

2、转换后的json对象作为子元素传递到前端:
2.1、将json对象转换成字符串。(单引号包含属性)。
objStr = json.loads(objJson)
2.2、组拼json对象。
response_data = {'statcode': '1', 'data':objStr}
2.3、返回前进行对象转换:
return HttpResponse(json.dumps(response_data))
2.4、前端接受并获取:
 $.ajax({
            url: "{% url 'sqlapply:auditSqlOrder' %}",
            type:"GET",
            data:{"id":id,"args":"getObjById"},
            success:function(result){
                res = jQuery.parseJSON(result);    #关键代码!!!!解析一个 JSON 字符串'{"name":"John"}'为Json对象。
                if (res["statcode"] == "1") {
                    objStr = res["data"];
                    console.log(objStr["fields"]["username"]);#获取方式1
            alert(objStr.fields.username);#获取方式2
                }
            },
            error:function(){
                alert("访问异常,请截图联系管理员 \t\n ErrorNO:auditSqlOrder.getObjById")
            }
        });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值