国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Django數據結果集序列化并展示實現過程

瀏覽:115日期:2024-10-09 16:49:01

示例為一對多的表關系,學生為多,老師為一,設置外鍵字段可以為空,也就是說關聯的老師被刪除該學生依然存在,只是相應字段留空

class Teacher(models.Model): name = models.CharField(max_length=10,verbose_name=’老師名稱’) password = models.CharField(max_length=10,verbose_name=’密碼’) class Meta: verbose_name_plural = ’教師表’ def __str__(self): return self.nameclass Student(models.Model): teacher = models.ForeignKey(to=Teacher,on_delete=models.SET_NULL,null=True,verbose_name=’教師’) name = models.CharField(max_length=10,verbose_name=’學生名字’) age = models.IntegerField(verbose_name=’年齡’) class Meta: verbose_name_plural = ’學生表’ def __str__(self): return self.name

 teacher = models.Teacher.objects.get(pk=id) # id=id的某位老師students = teacher.student_set.all() # 以一表反向查詢多表,查詢這位老師的學生

此時,all()返回的是一個結果集。<QuerySet [<Student: 學生1>, <Student: 學生22>, <Student: 學生3>, <Student: 學生44>]>

這里要將這個結果傳給前端ajax需要先將其轉成json格式,但是這樣的一個結果集又不能使用json.dumps的。

我的方法是先給它轉成列表嵌套字典再進行序列化操作

def index(request): if request.method == 'GET': teacher_name = request.session.get(’name’) teacher = models.Teacher.objects.get(name=teacher_name) students = teacher.student_set.all() print(students) list = [] for i in students: json_dict = {} json_dict[’name’] = i.name json_dict[’age’] = i.age list.append(json_dict) return JsonResponse(list,safe=False) # 這里safe默認為True,只接受參數為dict字典類型,非dict類型---“報錯:In order to allow non-dict objects to be serialized set the safe parameter to False.” safe=False之后list列表, tuple元祖, set集合就都可以

前端ajax接收參數,并且循環變量當前傳過去的列表

$(’#submit2’).click(function(){ $.ajax({url:’/app1/index/’,type:’GET’,success:function(res){ console.log(res) var str = ’’ for(var i = 0; i < res.length; i++){ # js中的for循環 str += ’<li>’ + res[i][’name’] + ’</li>’ } $(’#students’).html(str) } }) })

渲染效果如下圖所示

Django數據結果集序列化并展示實現過程

<button id='submit2'>點擊查看我的學生</button><p id='students'></p>

就是這個小小的按鈕,竟然在背后做了這么多事情,使得我們要的信息成功的展示在了下面的標簽里[/code]

所以任何一份職業都不容易,沒有小角色,都是大人物

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
主站蜘蛛池模板: 西充县| 合作市| 临夏县| 蒙城县| 苗栗县| 即墨市| 仁怀市| 库尔勒市| 宽城| 东兴市| 灌阳县| 措美县| 雷山县| 桂阳县| 怀远县| 怀宁县| 崇明县| 青浦区| 北海市| 玉龙| 本溪| 神池县| 绩溪县| 兰西县| 云安县| 道真| 长岭县| 莆田市| 松江区| 阿克苏市| 化隆| 新巴尔虎左旗| 红原县| 贵定县| 太原市| 余庆县| 北宁市| 平阴县| 调兵山市| 江永县| 四川省|