1

Models.py

class AdmissionStudent(models.Model): studentlabel = models.CharField(max_length = 100, null = False, blank = False) def __str__(self): return self.studentlabel class AdmissionRequirement(models.Model): requirementstudent = models.ForeignKey(AdmissionStudent, on_delete = models.CASCADE, null = False, blank = False) requirementparagraph = models.TextField(null = False, blank = False) def __str__(self): return '{} - {}'.format(self.requirementstudent, self.requirementparagraph) 

Views.py

def admission(request): header = AdmissionHeader.objects.first() student = AdmissionStudent.objects.all() requirement = AdmissionRequirement.objects.all() context = { 'header': header, 'student': student, 'requirement': requirement, 'title':'Admissions' } return render(request, 'pages/admission.html', context) 

Admission.html (template)

{% for student in student %} <b>{{ student.studentlabel }}</b><br> {% if {{ student.studentlabel}} == {{requirement.requirementstudent }} %} {% for requirement in requirement %} {{ requirement.requirementparagraph }}<br> {% endfor %} {% endfor %} 

I know what I did in my template is stupid, but i really don't know how to filter Admission Requirements for enrollment.

Below is an example of how I want it to appear:

Transferee

-1st requirement

-2nd requirement

-3rd requirement

Foreign Student

-1st requirement

-2nd requirement

-etc

1 Answer 1

1

You can just get the all the AdmissionStudents, and prefetch all of the related AdmissionRequirement per student.

With that, you don't need requirement = AdmissionRequirement.objects.all(). You just need to pass your student list in the template like this:

student = AdmissionStudent.objects.all().prefetch_related('admissionrequirement_set') context = { ... 'student': student, ... } 

And then in your template, use the related data for requirements from student to display:

{% for student in student %} <b>{{ student.studentlabel }}</b><br> {% for requirement in student.admissionrequirement_set.all %} {{ requirement.requirementparagraph }}<br> {% endfor %} {% endfor %} 
Sign up to request clarification or add additional context in comments.

2 Comments

Thank you very much, it helped a lot, i just removed an "underscore" in admission_requirement_set and it was great. Thanks again
Yes you're right the underscore shouldn't be there. Glad to help!

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.