I'm trying to filter a list of lectures which have a foreignkey relation with a model called content. Basically every lecture is related to a specific content. But I'm stuck. below is my code:
models.py
class CourseContent(models.Model):
title = models.CharField(max_length = 250)
course = models.ForeignKey(Course, on_delete = models.CASCADE, null = True)
def __str__(self):
return self.title
class CourseLecture(models.Model):
content = models.ForeignKey(CourseContent, on_delete = models.CASCADE, null = True)
title = models.CharField(max_length = 50)
file = models.FileField()
def __str__(self):
return self.title
views.py
def coursedetails(request, pk):
course = Course.objects.get(id = pk)
content = CourseContent.objects.filter(course = course)
content_ids = content.values_list('id')
lectures = CourseLecture.objects.filter(content__in = content_ids)
reviews = course.review_set.all()
rev_count = reviews.count()
avg = reviews.aggregate(avg = Avg('rating'))
total = reviews.aggregate(sum = Sum('rating'))
print(content_ids)
return render(request, "main/course_detail_view.html", {"course": course, "lectures": lectures, "content": content , "reviews": reviews, "rev_count": rev_count, "avg": avg, "total": total})
The problem here is that i cannot filter lectures on basis of specific content ids. The objects filtered is showing in all the content rather than showing in their specific section.
Thanks in advance.