我在Demographic
中有models.py
表:
class Demographic(models.Model):
patient_id = models.IntegerField(unique= True ,primary_key=True)
country_of_birth = models.CharField(max_length=30,null=True,blank=True)
def __str__(self):
return str(self.patient_id)
出生国家/地区包含每个患者的国家/地区,例如。 '塞浦路斯'或'希腊'或'英国'或'罗马尼亚'或......
我还有Diagnosis
表包含:
class Diagnosis(models.Model):
diagnosis_option = models.CharField( max_length=150)
patient = models.ForeignKey(Demographic)
def __str__(self):
return str(self.patient)
诊断选项包含每位患者的诊断,例如'地中海贫血'或'地中海贫血b'或'镰刀'或......
我想在views.py
中创建相关查询。我想根据每个诊断选择出生国家的患者总数。
EG。塞浦路斯:
罗马尼亚:
您知道如何创建此查询吗?
答案 0 :(得分:1)
如果我理解了你的问题,你需要正确地计算每个国家的每种疾病的数量。在这种情况下,以下查询应该这样做。
from django.db.models import Count
Diagnosis.objects.values(
'diagnosis_option','patient__country_of_birth'
).annotate(c = Count('diagnosis_option'))
答案 1 :(得分:0)
我希望在ORM查询下面会给出每个country_of_birth每个诊断选项的患者数量。
from django.db.models import Count
Diagnosis.objects.values('patient__country_of_birth', 'diagnosis_option').annotate(patient_count=Count('id'))