Python Django ORM:如果表A在表B中具有相同的id(FK),则从表A中选择行,如果满足以下条件,则选择A中的行:
我有桌上医院和其他桌上科室。我需要根据城市进行搜索。当用户选择城市并键入科室时,应检查医院表中是否有在用户指定城市工作的医院,然后在科室表中检查是否有任何医院在用户指定科室的表中 如何使用Django ORM实现这一点Python Django ORM:如果表A在表B中具有相同的id(FK),则从表A中选择行,如果满足以下条件,则选择A中的行:,python,django,Python,Django,我有桌上医院和其他桌上科室。我需要根据城市进行搜索。当用户选择城市并键入科室时,应检查医院表中是否有在用户指定城市工作的医院,然后在科室表中检查是否有任何医院在用户指定科室的表中 如何使用Django ORM实现这一点 class HCSProfile(models.Model): user = models.ForeignKey('User', on_delete=models.CASCADE) fname = models.CharField(max_length=255, blan
class HCSProfile(models.Model):
user = models.ForeignKey('User', on_delete=models.CASCADE)
fname = models.CharField(max_length=255, blank=True, null=True)
lname = models.CharField(max_length=255, blank=True, null=True)
city = models.CharField(max_length=255, blank=True, null=True)
class HCspeciality(models.Model):
hospital = models.CharField(max_length=255, blank=True, null=True)
speciality = models.CharField(max_length=255, blank=True, null=True)
hospital_id = models.ForeignKey('HCSProfile', on_delete=models.CASCADE)
我想你在找这样的东西:
# filter departments to only include hospitals available in the selected city
result = HCspeciality.objects.filter(hospital__city=user_city)
# further filter on department name
result = result.filter(speciality=user_speciality)
当然,用从用户处收集的变量替换user\u hospital
和user\u city
请注意,使用双下划线在外键自己的字段上进行筛选
医院城市 你在哪里存储科室字段?HCspeciality表,医院在注册时添加了他们的科室,Speciality是科室,对吗?Yh,对。