Как я могу отобразить Hosptal?

#python #django

#python #django

Вопрос:

Как показать больницу здесь? (https://ibb.co/Xkn58yK )

 
    blood/models
    
    from django.db import models
    
    class Patient(models.Model):
        patient_id = models.CharField(max_length= 1000, null= True)
        first_name = models.CharField(max_length = 50, null = True)
        last_name = models.CharField(max_length= 50,  null = True)
        address = models.CharField(max_length=100,  null = True, blank=True)
        phone_number = models.CharField(max_length=50, null= True, blank=True)
        date_created = models.DateTimeField(auto_now_add = True, null = True, blank=True)
        hospitals = models.ManyToManyField(Hospital)
        BLOOD_TYPE = (
            ('O ','O '),
            ('O-','O-'),
            ('A ','A '),
            ('A-','A-'),
            ('B ','B '),
            ('B-','B-'),
            ('AB ','AB '),
            ('AB-','AB-'),
            )
        patient_blood = models.CharField(max_length=5,  null = True , choices=BLOOD_TYPE)
    
        def __str__(self):
            return '{} {} {} {}' .format(self.first_name, self.last_name, "-", self.patient_id)
    
    
    
    
    class Hospital(models.Model):
        hospital = models.CharField(max_length=100, null=True)
        address = models.CharField(max_length=100,  null = True, blank=True)
        phone_number = models.CharField(max_length=50, null= True, blank=True)
    
        def __str__(self):
            return self.hospital

  

views.py

     blood/views
    
    
    
    from django.shortcuts import render, redirect
    from django.http import HttpResponse
    from .forms import *
    
    def PatientPage(request):
    
        patients = Patient.objects.all()
        hospitals = Hospital.objects.all()
    
        context = {
        'patients':patients,
        'hospitals':hospitals,
        }
        return render(request, 'blood/patients.html', context)
  

Я могу запросить остальные, осталась только больница

 


 {% for id in patients %}
        <tr>
<td>{{id.hospitals}}</td>
 </tr>
        {% endfor %}


  

Это раздел HTML, я перечислил остальные, но я не могу выполнить ManyToManyField. Единственная проблема в том, как я могу показать больницу, выбранную пациентом

Я только начинаю учиться, поэтому прошу прощения

Комментарии:

1. Добро пожаловать в Stack Overflow. Пожалуйста, размещайте изображения только с использованием официального хоста изображений. Тот, который вы использовали, выглядит очень схематично и, вероятно, в какой-то момент перестанет размещать это изображение. Вопросы по SO предназначены для того, чтобы помочь другим в будущем, а также вам.

Ответ №1:

Ваша модель данных не кажется правильной, но на основе текущей модели это может сработать:

  {% for p in patients %}
  <table>
     <tr><td>Date Registered</td><td>Hospital</td><td>Blood Type</td></tr>
    {{for h in p.hospitals}}
        <tr><td>{{p.date_created}}</td><td>{{h.hospital}}</td><td>{{p.patient_blood}}</td></tr>
    {{endfor}}
  </table>
  {% endfor %}