#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 %}