在开发选课界面时需要过滤掉已经选择过的课程,之前一直以为QuerySet是列表的结构,所以打算在判断之后使用list.remove()方法将已选的课程除掉,但在实际操作时,发现这么做并不行,原来Queryset并不是一个list, 并且有自己专门的方法exclude(),最终的实现如下:
for sc in selected_courses:
if sc.course in courses:
courses = courses.exclude(c_id=sc.course.c_id)
分页可以使用Paginator实现,文档写的很详尽