I have a page on which there are different bootstrap accordians. I have different models stored in the database, Now I want to fetch them in proper order.
class CaseStudy_list(models.Model):
CaseStudy_id = models.IntegerField(primary_key=True)
title = models.CharField(max_length=255)
def __str__(self):
return self.title
class CaseStudy_parts(models.Model): #accordians
case_study = models.ForeignKey(CaseStudy_list, on_delete=models.CASCADE)
CaseStudy_part_id = models.AutoField(primary_key=True)
CaseStudy_order = models.IntegerField(default="")
CaseStudy_title_accordian = models.CharField(max_length=255)
def __str__(self):
return self.CaseStudy_title_accordian
class CaseStudy_content(models.Model): #column 1 - text area
case_study = models.ForeignKey(CaseStudy_list, on_delete=models.CASCADE)
content_title = models.CharField(max_length=255, default="")
content_text = models.TextField(blank=True)
content_link = models.TextField(blank=True)
def __str__(self):
return self.content_title
class CaseStudy_Media(models.Model): #column 2 - Media Area
case_study = models.ForeignKey(CaseStudy_list, on_delete=models.CASCADE)
content_img = models.ImageField(upload_to='casestudy/images', default="")
class CaseStudy_buttons(models.Model):
content = models.ForeignKey(CaseStudy_content, on_delete=models.CASCADE)
button_id = models.CharField(max_length=255)
button_label = models.CharField(max_length=255)
<div class="page-layout">
<div class="accordion" id="accordionPanelsStayOpenExample">
<div class="accordion-item">
<h6 class="accordion-header">
<button class="accordion-button" type="button" data-bs-toggle="collapse"
data-bs-target="#panelsStayOpen-collapseOne" aria-expanded="true"
aria-controls="panelsStayOpen-collapseOne">
{{content.section_title}}
</button>
</h6>
<div id="panelsStayOpen-collapseOne" class="accordion-collapse collapse show">
<div class="accordion-body">
<div class="container-area">
<div class="col-content">
<div class='introduction-content'>
<h3>CASESTUDY ID - {{casestudy_obj.id}} </h3><br>
<h3>TITLE - {{ casestudy_obj.title }} </h3> <br>
<h3>OBJECTIVE - {{content.content_text}}</h3>
</div>
</div>
<div class="col-data">
<img src="{{content.content_img.url}}">
</div>
</div>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
data-bs-target="#panelsStayOpen-collapseTwo" aria-expanded="false"
aria-controls="panelsStayOpen-collapseTwo">
DATA COLLECTION
</button>
</h2>
<div id="panelsStayOpen-collapseTwo" class="accordion-collapse collapse">
<div class="accordion-body">
<div class="container-area">
<div class="col-content">
<div class='introduction-content'>
<h2>DATA COLLECTION </h2>
<h2>Hello
</h2>
<button type="button" class="process-btn btn btn-info">LOAD DATA</button>
<h3 id="time-taken">Time Taken : ________ </h3>
<h3 id="time-taken">Data Size : ________ </h3>
</div>
</div>
<div class="col-data">
<img src="{% static 'images/iris-full-img.png' %}">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
def casestudy(request, CaseStudy_id ):
casestudy_object = get_object_or_404(CaseStudy_list, CaseStudy_id = CaseStudy_id)
casestudy_part = CaseStudy_parts.objects.filter(case_study=casestudy_object).order_by('CaseStudy_order')
context = {
'casestudy_object': casestudy_object,
'casestudy_part': CaseStudy_parts,
}
return render(request, 'casestudy.html', context)
There are different case studiess, each case study redirect to a new page where there is information stored in accordians; these accordians may be very different in numbers for different case studies.
Now I want to know, in order to fetch data, I have to make objects for every table. And how do you show the data stored in different tables?
This is my first django project, please help