您好,登錄后才能下訂單哦!
當(dāng)有兩個(gè)表,例如一個(gè)學(xué)生表,一個(gè)班級(jí)表,是多對(duì)一的關(guān)系。
方法1:
c = models.Class.object.get(pk=1) #查詢到ID為1的班級(jí) stus = models.Student.object.filter(cls=c) # 查詢出來(lái)所有班級(jí)為c的學(xué)生 #stus是多個(gè)對(duì)象 #可以循環(huán)出結(jié)果 for stu in stus : print stu.id,stu.name
方法2
stus = models.Student.object.filter(cls__name='1703') #雙下劃線為跨表查詢,查詢學(xué)生對(duì)應(yīng)的所有cls為1703的學(xué)生
方法3
c=models.Class.object.get(pk=1) #獲取ID為1的班級(jí) stus=c.Student_set.all #獲取所有該班級(jí)下的所有學(xué)生
html頁(yè)面獲取方法
<td>{{ line.student_set.count }}</td>
以上這篇Django實(shí)現(xiàn)一對(duì)多表模型的跨表查詢方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。