国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

django實現(xiàn)將后臺model對象轉(zhuǎn)換成json對象并傳遞給前端jquery

瀏覽:96日期:2024-05-29 08:38:57

1、django的model轉(zhuǎn)json對象。

1.1、單個modle轉(zhuǎn)換,返回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轉(zhuǎn)換:

json_data = serializers.serialize('json', MyModel.objects.all())

2、轉(zhuǎn)換后的json對象作為子元素傳遞到前端:

2.1、將json對象轉(zhuǎn)換成字符串。(單引號包含屬性)。

objStr = json.loads(objJson)

2.2、組拼json對象。

response_data = {’statcode’: ’1’, ’data’:objStr}

2.3、返回前進(jìn)行對象轉(zhuǎn)換:

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); #關(guān)鍵代碼!!!!解析一個 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('訪問異常,請截圖聯(lián)系管理員 tn ErrorNO:auditSqlOrder.getObjById') } });

補(bǔ)充知識:django 將model轉(zhuǎn)換成想要的json格式

model:

class SysRole(models.Model): id = models.CharField(db_column=’ID’, primary_key=True, max_length=50) # Field name made lowercase. rolename = models.CharField(db_column=’RoleName’, max_length=50) # Field name made lowercase. description = models.CharField(db_column=’Description’, max_length=200, blank=True, null=True) # Field name made lowercase. querycode = models.CharField(db_column=’QueryCode’, max_length=200, blank=True, null=True) # Field name made lowercase. isdisabled = models.CharField(db_column=’IsDisabled’) # Field name made lowercase. This field type is a guess. def __unicode__(self): return self.rolename # 將屬性和屬性值轉(zhuǎn)換成dict 列表生成式 def toDict(self): return dict([(attr, getattr(self, attr)) for attr in [f.name for f in self._meta.fields]])#type(self._meta.fields).__name__ class Meta: managed = False db_table = ’sys_role’

# 遍歷查詢集 調(diào)用model屬性轉(zhuǎn)換成dictdef queryset_to_json(queryset): obj_arr=[] for o in queryset:obj_arr.append(o.toDict()) return obj_arr

# 獲取角色分頁列表 def get_roles_page(self,_page,_limit): _roles = SysRole.objects.all()[(int(_page)-1)*int(_limit):int(_page)*int(_limit)] _count = SysRole.objects.all().count() _dict_roles = tools.queryset_to_json(_roles) _data_page_json = {} _data_page_json[’Rows’]=_dict_roles _data_page_json[’Total’]=_count return json.dumps(_data_page_json,ensure_ascii=False)

在model上加入toDict方法 然后執(zhí)行查詢 得到queryset 遍歷它 將queryset里的每個model執(zhí)行他的todict方法 轉(zhuǎn)換成字典格式 之后統(tǒng)一調(diào)用json.dumps方法轉(zhuǎn)json

以上這篇django實現(xiàn)將后臺model對象轉(zhuǎn)換成json對象并傳遞給前端jquery就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 91久久精品国产亚洲 | 免费在线黄色网址 | 日韩免费一级毛片欧美一级日韩片 | 亚洲欧洲日本天天堂在线观看 | 在线视频日韩精品 | 国产麻豆福利a v在线播放 | 99久久精品男女性高爱 | 欧美精品99 | 免费观看黄色毛片 | 国产成人综合91精品 | 国内自拍第五一页 | 日日a.v拍夜夜添久久免费 | 美女扒开双腿让男人桶 | 日韩欧美中文字幕在线播放 | 欧美丝袜自拍 | 亚洲线精品一区二区三区 | 欧美另类精品一区二区三区 | 成年片人免费www | 亚洲日本高清影院毛片 | 国产精品怡红院在线观看 | 欧美在线综合 | 在线视频观看一区 | 91精品视频在线播放 | 精品视频在线免费播放 | 91久久亚洲精品一区二区 | 荡公乱妇蒂芙尼中文字幕 | 欧美三级一区二区 | 女人张开腿男人猛桶视频 | 国内精品福利视频 | 一本综合久久 | 日韩成人午夜 | 欧美中文字幕一区 | 亚洲第一成人天堂第一 | 香蕉国产人午夜视频在线 | 波多野结衣一区二区 三区 波多野结衣一区二区三区88 | 免费观看a视频 | 亚洲成a人片在线播放 | 99成人精品 | 亚洲精品韩国美女在线 | 欧美久久亚洲精品 | 黄色影院在线观看视频 |