第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Django:如何處理關(guān)系

Django:如何處理關(guān)系

侃侃無(wú)極 2023-06-20 10:43:00
我有一個(gè) ModelA 實(shí)例,想通過(guò) ModelB 查詢(xún)與 ModelA 相關(guān)的所有 ModelC 實(shí)例。ModelA -> 所有具有 FK 的 ModelB 實(shí)例 rel_a = ModelA -> rel_c.all()class ModelA(models.Model):    # fields    passclass ModelB(models.Model):    rel_a = models.ForeignKey('ModelA', ...)    rel_c = models.ManyToMany('ModelC')    # more fieldsclass ModelC(models.Model):    # fields    pass我知道我將如何在 SQL 中執(zhí)行此操作,但我真的不明白我應(yīng)該如何理清這些關(guān)系
查看完整描述

1 回答

?
波斯汪

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊

您可以使用.filter(…)表達(dá)式 [Django-doc]進(jìn)行查詢(xún):

ModelC.objects.filter(modelb__rel_a=instance_of_modela)

使用.distinct()[Django-doc]過(guò)濾掉重復(fù)項(xiàng):

ModelC.objects.filter(modelb__rel_a=instance_of_modela).distinct()

如果您在from?to?(so ) 中指定了related_query_name=…[Django-doc]或related_name=…[Django-doc],則名稱(chēng)將替換為那個(gè),因此它是:ManyToManyFieldModelBModelCrel_cmodelb

ModelC.objects.filter(related_relc__rel_a=instance_of_modela).distinct()

related_relc或在字段中related_query_name。related_namerel_c


查看完整回答
反對(duì) 回復(fù) 2023-06-20
  • 1 回答
  • 0 關(guān)注
  • 142 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)