亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Django 從三個表中檢索數據

Django 從三個表中檢索數據

幕布斯6054654 2022-10-11 10:29:05
問題我正在使用 django 最新版本。我有三個這樣命名的表模型Class MCH():Name= models.CharField()Class Staff():Name=models.CharField()Mch=models.ForeignKey(MCH,,on_delete=models.CASCADE)location=models.CharField(..)Class Patients():   Name=models.CharField()Staff=models.ForeingKey(Staff,on_delete=models.CASCADE)Phone=models.CharField()我想使用 Django 方法加入樹表并過濾數據MCH我試過這個ServedPatients=Patients.objects. select_related(Staff__MCH='mch1')
查看完整描述

1 回答

?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

您可以通過以下方式獲取數據:


ServedPatients = Patients.objects.select_related('Staff', 'Staff_Mch')

或者,如果您想過濾 的名稱MCH,您可以使用以下方式過濾:


ServedPatients = Patients.objects.filter(Staff__Mch__Name='mch1')

在這里,您可以獲得具有 as an的Patients對象,具有 as name 。但是,在這里您不會將 和 的數據添加到關系中,您可以將兩者結合起來:StaffMch'mch1'StaffMch


ServedPatients = Patients.objects.select_related(

    'Staff', 'Staff_Mch'

).filter(Staff__Mch__Name='mch1')

注意:通常 Django 模型中的字段名稱是用 snake_case 編寫的,而不是PerlCase,所以它應該是:staff而不是Staff.


 


注意:通常 Django 模型被賦予一個單數名稱,所以Patient而不是Patients.


查看完整回答
反對 回復 2022-10-11
  • 1 回答
  • 0 關注
  • 93 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號