我想知道从slug页面分页项目的正确方法是什么。我尝试了一些东西,但我似乎不知道如何正确地通过属于该教员的课程,并按每页1门课程的顺序分页。 以下是我尝试过的:
def faculty_filter(request, faculty_slug):
qr = get_object_or_404(Faculty, faculty_slug=faculty_slug)
query_list = Course.objects.get(qr)
query = request.GET.get('q')
if query:
query_list = query_list.filter(Q(name__icontains=query))
paginator = Paginator(query_list, 1)
page = request.GET.get('page')
try:
courses = paginator.page(page)
except PageNotAnInteger:
courses = paginator.page(1)
except EmptyPage:
courses = paginator.page(paginator.num_pages)
context = {
'courses': courses,
'faculties': Faculty.objects.filter(faculty_slug=faculty_slug),
'departments': Department.objects.all(),
'studies': StudyProgramme.objects.all(),
}
return render(request, 'courses/filters/faculty_filter.html', context)
注:课程不直接属于教员。我有四个外键按此顺序绑定的模型:Faculty>;部门>;研究程序>;课程
不确定您的模型定义如何,但如果您有一个外键连接
Faculty
、Department
等。您可以一直导航回:或者,由于您有教员实例:
请注意,我假设
Course
通过名为programme
的外键连接到StudyProgramme
,而StudyProgramme
通过名为department
的外键连接到Department
,依此类推基本上,两个下划线(
__
)用于在外键关系之间导航相关问题 更多 >
编程相关推荐