gpt4 book ai didi

python - Django 从三个表中检索数据

转载 作者:行者123 更新时间:2023-12-04 15:31:15 28 4
gpt4 key购买 nike

问题

我使用的是最新版本的 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')

最佳答案

您可以通过以下方式获取数据:

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

或者如果您想过滤 MCH 的名称,您可以过滤:

ServedPatients = Patients.objects.filter(<b>Staff__Mch__Name='mch1'</b>)

在这里,您获得了 Patients 对象,这些对象具有 StaffMch 名称 'mch1' .然而,在这里您不会将 StaffMch 的数据添加到关系中,您可以将两者结合:

ServedPatients = Patients.objects.select_related(
<b>'Staff', 'Staff_Mch'</b>
).filter(<b>Staff__Mch__Name='mch1'</b>)

Note: normally the name of the fields in a Django model are written in snake_case, not PerlCase, so it should be: staff instead of Staff.

Note: normally a Django model is given a singular name, so Patient instead of Patients.

关于python - Django 从三个表中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61234151/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com