dimanche 28 juin 2015

Getting spesific data from three models in django

I am starting working with django and i want get specific data from three related models. my models are

class Institution(models.Model):
    name = models.CharField(max_length=100, unique=True)
    ...

class Certification(models.Model):
    name = models.CharField(max_length=100)
    ...

class Course(models.Model):
    name = models.CharField(max_length=100)
    institution = models.ForeignKey(Institution)
    certification = models.ForeignKey(Certification)

in my html page i want display the courses offered by a particular institution ordered by certification. like this

name of a particular institution I 
    certification 1
         list courses that offer certification 1
    certification 2
         list courses that offer certification 2
    ...

my current template is

{{institution.name}}
{% for certification in preselected_certifications %}
    <h1> {{ certification.name }} </h1>
    <ul>
          {% for course in courses %}
            <li>{{ course.name }}</li>
          {% endfor %}
    </ul>
{% endfor %}

my view

def detail(request, slug):
    context = RequestContext(request)
    context_dict = {'slug_requested': slug}
    try:
      institution = Institution.objects.get(slug=slug)
      courses = Course.objects.filter(etablissement=etablissement)

      context_dict['courses'] = courses
      context_dict['etablissement'] = etablissement

    except Etablissement.DoesNotExist:
      pass

    return render_to_response('institutition/details.html', context_dict, context)

i know the problem is in preselected_certification and courses but dont know how to fix it.

help please

Aucun commentaire:

Enregistrer un commentaire