溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Django實(shí)現(xiàn)一對(duì)多表模型的跨表查詢方法

發(fā)布時(shí)間:2020-09-28 19:35:11 來(lái)源:腳本之家 閱讀:97 作者:蓋世英雄Zz 欄目:開(kāi)發(fā)技術(shù)

當(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è)參考,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI