Ich habe Demographic
Tabelle in models.py
:Django: Wie korrelierte Abfrage aus zwei Tabellen durchführen?
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)
Geburtsland enthält für jeden Patienten ein Land, zum Beispiel. ‚Zypern‘ oder ‚Griechenland‘ oder ‚UK‘ oder ‚Rumänien‘ oder ...
Auch habe ich Diagnosis
Tabelle, die enthält:
class Diagnosis(models.Model):
diagnosis_option = models.CharField(max_length=150)
patient = models.ForeignKey(Demographic)
def __str__(self):
return str(self.patient)
Diagnose Option, um eine Diagnose für jeden Patienten enthält z.B. 'Thalassämie a' oder 'Thalassämie b' oder 'Sichel' oder ...
Ich möchte eine korrelierte Abfrage in views.py
erstellen. Ich möchte die Gesamtzahl der Patienten nach Geburtsland pro Diagnosemöglichkeit erhalten.
Eg. Zypern:
- Thalassämie a: 2 Patienten
- Thalassämie b: 2 Patienten
Rumänien:
- Thalassämie a: 1 Patient
- Sickle: 3 Patienten
Wissen Sie, wie Sie diese Abfrage erstellen?
Sind Instanzen des 'Demographic' Modells die gleichen wie" Patienten "? (Wenn ja, warum heißt das Modell nicht 'Patient'?) Ihre Modelle erlauben nur eine einzige' Demographische' nach 'Diagnose', so dass Sie nicht einmal die gesuchten Daten darstellen, geschweige denn abfragen können. –
@SvenMarnach 'Demographic' enthält die demografischen Daten für jeden Patienten, daher enthält es viel mehr Felder! – zinon
Wenn die demografische Tabelle demographische Daten für Patienten enthält, sollte patient_id ein Primärschlüssel dafür sein? Es sollte idealerweise ein Fremdschlüssel für den Patiententisch sein. Zu diesem Zeitpunkt wäre es am besten, wenn Sie Ihre Modelle veröffentlichen könnten. – e4c5