Я новичок в Django, и у меня есть проблема .... Я создал приложение (имя: PQR) с 3-мя моделями (Пациент/Вопрос/Ответ) Я хочу посмотреть мнения с именем пациента наверху, под этим, все вопросы и, если применимо, ответы ниже на вопрос (у некоторых пациентов может быть пустой ответ/нет ответа). Я знаю, как отображать ответы для пациента, но я хотел бы отображать КАЖДЫЕ вопросы, и если они доступны, я хочу дать ответ, но я не знаю, как это сделать на мой взгляд?Показать несколько моделей в одном представлении в Django
Это моя модель:
Class Patient(models.Model):
name = models.CharField(max_length=50)
def __unicode__(self):
return self.name
def listReply(self):
replies = Reply.objects.filter(patient= self.id)
return replies
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __unicode__(self):
return self.question_text
class Reply(models.Model):
question = models.ForeignKey(Question)
patient = models.ForeignKey(Patient)
reply_text = models.CharField(max_length=200)
def __unicode__(self):
return str(self.reply_text)
Это мое мнение:
from django.shortcuts import render, get_object_or_404
from django.template import RequestContext
from .models import Patient, Question, Reply
def list(request):
list_patient = Patient.objects.order_by('name') context = RequestContext(request, {'list_patient':list_patient,'welcome': 'Welcome on my page Django !',
})
return render(request, 'PQR/list.html', context)
def detail(request, patient_id):
patient = get_object_or_404(Patient, pk=patient_id)
list_question = Question.objects.all()
Replies4MyPatient = Reply.objects.filter(patient=patient_id)
return render(request, 'PQR/detail.html', locals())
И это мои URLs:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.list, name ='list_patient'),
url(r'^(?P<patient_id>[0-9]+)/patient/$', views.detail, name ='detail_patient'),
И это мой шаблон:
{% load staticfiles %}
<link rel="stylesheet" type="text/css" href="{% static 'Forum/style.css' %}" />
<div>
<h1>Patient details : {{ patient }}</h1>
</div>
<fieldset>
{% csrf_token %}
{% for reply in Replies4MyPatient %}
</br><abcd>{{ reply.question }}</abcd></br>
</br>
<li>{{ reply }}</li>
{% endfor %}
</fieldset></br>
<a href="{% url 'list_patient' %}"/> <input type="button" value="Look Back"/>
Спасибо вам за помощь!
И каков ваш вопрос?!? – deets
что такое 'pk' в этом выражении' pk = patient_id' ?? –
pk mean Первичный ключ –