started profiling with the django_debugger_toolbar and my SQL data
results are at the bottom. There are duplicate SQL select statements
for handin_course and auth_user which doesn't make sense to me as I
understand how views should work ...
#################################################
# courseassignments - Course Assignments View
#################################################
@login_required
def course_assignments(request, enrollment_id):
# Request enrollment
enrollment = Enrollment.objects.get(id__exact=enrollment_id)
# Determine access level and create default behavior
flag = verifyEnrollment(request, enrollment)
template = loader.get_template('handin/course_blocked.html')
context = RequestContext(request, {"user": request.user, "flag":
flag} )
# If access is granted
if flag == 1:
# If we have post data process the form
if request.POST:
# Determine if submission is late
assignment =
Assignment.objects.get(id__exact=request.POST['assignment'])
onTime = True
try:
# First see if there is a due date override
dueDate =
DueDateOverride.objects.filter(enrollment=enrollment.id).filter(assignment=assignment.id)
[0]
if
isLateNow( adjustDateDays( adjustDateWeeks(enrollment.start_date,
dueDate.weeks_after), dueDate.days_after)):
onTime = False
except IndexError:
# If not, see if there is a global due date
if assignment.apply_due_date:
if
isLateNow( adjustDateDays( adjustDateWeeks(enrollment.start_date,
assignment.weeks_after), assignment.days_after)):
onTime = False
instance = Submission(enrollment_id=enrollment.id,
assignment_id=request.POST['assignment'], on_time=onTime)
newSubmission = SubmissionForm(request.POST, request.FILES,
instance=instance)
newSubmission.save()
return
HttpResponseRedirect(reverse('classcomm.handin.views.course_assignments',
args=(enrollment.id,)))
# Set the course_id
course_id = enrollment.course.id
# Get the requested course
course = Course.objects.get(id__exact=course_id)
# Find the assignments for the requested course
assignments = Assignment.objects.all().filter(course=course_id)
# Find the grades for the current enrollment
grades = Grade.objects.all().filter(enrollment=enrollment.id)
# Find the submissions for the current enrollment
submissions =
Submission.objects.all().filter(enrollment=enrollment.id)
# Find the due date overrides for the current enrollment
dueDateOverrides =
DueDateOverride.objects.all().filter(enrollment=enrollment.id)
# Create assignmentDataList for easy template cycle
# [Assignment, current Submission, current Grade, current
DueDateOverride]
assignmentDataList = list()
for assignment in assignments:
# Find the submission
currentSubmission = None
for submission in submissions:
if submission.assignment_id == assignment.id:
currentSubmission = submission
# Find the grade
currentGrade = None
for grade in grades:
if grade.assignment_id == assignment.id:
currentGrade = grade
# Find a due date override
currentDDO = None
for dueDateOverride in dueDateOverrides:
if dueDateOverride.assignment_id == assignment.id:
currentDDO = dueDateOverrides
# Add the tupple to a list
assignmentDataList.append( (assignment, currentSubmission,
currentGrade, currentDDO) )
# Create an assignment submission form
form = SubmissionForm()
# Set template; Create context
template = loader.get_template('handin/course_assignments.html')
context = RequestContext(request, {"user": request.user,
"course": course, "form": form,
"enrollment": enrollment, "assignmentDataList":
assignmentDataList} )
# Return page view
return HttpResponse( template.render(context) )
# End Def
SQL Queries
Time (ms) Action Stacktrace Query
0.61 SELECT
EXPLAIN
Toggle Stacktrace
SELECT `django_session`.`session_key`,
`django_session`.`session_data`, `django_session`.`expire_date` FROM
`django_session` WHERE (`django_session`.`session_key` =
97bf63456064cb8d5682f762a4d7faef AND `django_session`.`expire_date` >
2010-11-01 11:55:14 )
Line Method File
132 _worker build/bdist.linux-i686/egg/flup/server/threadpool.py
669 run build/bdist.linux-i686/egg/flup/server/fcgi_base.py
705 process_input build/bdist.linux-i686/egg/flup/server/
fcgi_base.py
805 _do_params build/bdist.linux-i686/egg/flup/server/fcgi_base.py
789 _start_request build/bdist.linux-i686/egg/flup/server/
fcgi_base.py
574 run build/bdist.linux-i686/egg/flup/server/fcgi_base.py
1159 handler build/bdist.linux-i686/egg/flup/server/fcgi_base.py
0.46 SELECT
EXPLAIN
Toggle Stacktrace
SELECT `auth_user`.`id`, `auth_user`.`username`,
`auth_user`.`first_name`, `auth_user`.`last_name`,
`auth_user`.`email`, `auth_user`.`password`, `auth_user`.`is_staff`,
`auth_user`.`is_active`, `auth_user`.`is_superuser`,
`auth_user`.`last_login`, `auth_user`.`date_joined` FROM `auth_user`
WHERE `auth_user`.`id` = 1
Line Method File
132 _worker build/bdist.linux-i686/egg/flup/server/threadpool.py
669 run build/bdist.linux-i686/egg/flup/server/fcgi_base.py
705 process_input build/bdist.linux-i686/egg/flup/server/
fcgi_base.py
805 _do_params build/bdist.linux-i686/egg/flup/server/fcgi_base.py
789 _start_request build/bdist.linux-i686/egg/flup/server/
fcgi_base.py
574 run build/bdist.linux-i686/egg/flup/server/fcgi_base.py
1159 handler build/bdist.linux-i686/egg/flup/server/fcgi_base.py
0.30 SELECT
EXPLAIN
Toggle Stacktrace
SELECT `handin_enrollment`.`id`, `handin_enrollment`.`student_id`,
`handin_enrollment`.`course_id`, `handin_enrollment`.`start_date`,
`handin_enrollment`.`enrollment_length`,
`handin_enrollment`.`access_mode`, `handin_enrollment`.`mentor_id`
FROM `handin_enrollment` WHERE `handin_enrollment`.`id` = 3
Line Method File
132 _worker build/bdist.linux-i686/egg/flup/server/threadpool.py
669 run build/bdist.linux-i686/egg/flup/server/fcgi_base.py
705 process_input build/bdist.linux-i686/egg/flup/server/
fcgi_base.py
805 _do_params build/bdist.linux-i686/egg/flup/server/fcgi_base.py
789 _start_request build/bdist.linux-i686/egg/flup/server/
fcgi_base.py
574 run build/bdist.linux-i686/egg/flup/server/fcgi_base.py
1159 handler build/bdist.linux-i686/egg/flup/server/fcgi_base.py
181 course_assignments /home2/geekshac/django_projects/classcomm/
handin/views.py
0.29 SELECT
EXPLAIN
Toggle Stacktrace
SELECT `auth_user`.`id`, `auth_user`.`username`,
`auth_user`.`first_name`, `auth_user`.`last_name`,
`auth_user`.`email`, `auth_user`.`password`, `auth_user`.`is_staff`,
`auth_user`.`is_active`, `auth_user`.`is_superuser`,
`auth_user`.`last_login`, `auth_user`.`date_joined` FROM `auth_user`
WHERE `auth_user`.`id` = 1
Line Method File
132 _worker build/bdist.linux-i686/egg/flup/server/threadpool.py
669 run build/bdist.linux-i686/egg/flup/server/fcgi_base.py
705 process_input build/bdist.linux-i686/egg/flup/server/
fcgi_base.py
805 _do_params build/bdist.linux-i686/egg/flup/server/fcgi_base.py
789 _start_request build/bdist.linux-i686/egg/flup/server/
fcgi_base.py
574 run build/bdist.linux-i686/egg/flup/server/fcgi_base.py
1159 handler build/bdist.linux-i686/egg/flup/server/fcgi_base.py
184 course_assignments /home2/geekshac/django_projects/classcomm/
handin/views.py
395 verifyEnrollment /home2/geekshac/django_projects/classcomm/
handin/views.py
0.34 SELECT
EXPLAIN
Toggle Stacktrace
SELECT `handin_course`.`id`, `handin_course`.`department_id`,
`handin_course`.`name`, `handin_course`.`director_id`,
`handin_course`.`open_enrollments`,
`handin_course`.`enrollment_length`, `handin_course`.`description`
FROM `handin_course` WHERE `handin_course`.`id` = 2
Line Method File
132 _worker build/bdist.linux-i686/egg/flup/server/threadpool.py
669 run build/bdist.linux-i686/egg/flup/server/fcgi_base.py
705 process_input build/bdist.linux-i686/egg/flup/server/
fcgi_base.py
805 _do_params build/bdist.linux-i686/egg/flup/server/fcgi_base.py
789 _start_request build/bdist.linux-i686/egg/flup/server/
fcgi_base.py
574 run build/bdist.linux-i686/egg/flup/server/fcgi_base.py
1159 handler build/bdist.linux-i686/egg/flup/server/fcgi_base.py
184 course_assignments /home2/geekshac/django_projects/classcomm/
handin/views.py
405 verifyEnrollment /home2/geekshac/django_projects/classcomm/
handin/views.py
0.24 SELECT
EXPLAIN
Toggle Stacktrace
SELECT `handin_course`.`id`, `handin_course`.`department_id`,
`handin_course`.`name`, `handin_course`.`director_id`,
`handin_course`.`open_enrollments`,
`handin_course`.`enrollment_length`, `handin_course`.`description`
FROM `handin_course` WHERE `handin_course`.`id` = 2
Line Method File
132 _worker build/bdist.linux-i686/egg/flup/server/threadpool.py
669 run build/bdist.linux-i686/egg/flup/server/fcgi_base.py
705 process_input build/bdist.linux-i686/egg/flup/server/
fcgi_base.py
805 _do_params build/bdist.linux-i686/egg/flup/server/fcgi_base.py
789 _start_request build/bdist.linux-i686/egg/flup/server/
fcgi_base.py
574 run build/bdist.linux-i686/egg/flup/server/fcgi_base.py
1159 handler build/bdist.linux-i686/egg/flup/server/fcgi_base.py
216 course_assignments /home2/geekshac/django_projects/classcomm/
handin/views.py
19.62 SELECT
EXPLAIN
Toggle Stacktrace
SELECT `handin_assignment`.`id`, `handin_assignment`.`course_id`,
`handin_assignment`.`name`, `handin_assignment`.`details`,
`handin_assignment`.`points_possible`,
`handin_assignment`.`display_points_possible`,
`handin_assignment`.`provided_files`,
`handin_assignment`.`apply_due_date`,
`handin_assignment`.`weeks_after`, `handin_assignment`.`days_after`,
`handin_assignment`.`allow_late`,
`handin_assignment`.`disable_submissions` FROM `handin_assignment`
WHERE `handin_assignment`.`course_id` = 2
Line Method File
132 _worker build/bdist.linux-i686/egg/flup/server/threadpool.py
669 run build/bdist.linux-i686/egg/flup/server/fcgi_base.py
705 process_input build/bdist.linux-i686/egg/flup/server/
fcgi_base.py
805 _do_params build/bdist.linux-i686/egg/flup/server/fcgi_base.py
789 _start_request build/bdist.linux-i686/egg/flup/server/
fcgi_base.py
574 run build/bdist.linux-i686/egg/flup/server/fcgi_base.py
1159 handler build/bdist.linux-i686/egg/flup/server/fcgi_base.py
233 course_assignments /home2/geekshac/django_projects/classcomm/
handin/views.py
8.19 SELECT
EXPLAIN
Toggle Stacktrace
SELECT `handin_submission`.`id`, `handin_submission`.`enrollment_id`,
`handin_submission`.`assignment_id`, `handin_submission`.`date`,
`handin_submission`.`file`, `handin_submission`.`on_time`,
`handin_submission`.`add_checkscript` FROM `handin_submission` WHERE
`handin_submission`.`enrollment_id` = 3
Line Method File
132 _worker build/bdist.linux-i686/egg/flup/server/threadpool.py
669 run build/bdist.linux-i686/egg/flup/server/fcgi_base.py
705 process_input build/bdist.linux-i686/egg/flup/server/
fcgi_base.py
805 _do_params build/bdist.linux-i686/egg/flup/server/fcgi_base.py
789 _start_request build/bdist.linux-i686/egg/flup/server/
fcgi_base.py
574 run build/bdist.linux-i686/egg/flup/server/fcgi_base.py
1159 handler build/bdist.linux-i686/egg/flup/server/fcgi_base.py
236 course_assignments /home2/geekshac/django_projects/classcomm/
handin/views.py
9.72 SELECT
EXPLAIN
Toggle Stacktrace
SELECT `handin_grade`.`id`, `handin_grade`.`enrollment_id`,
`handin_grade`.`assignment_id`, `handin_grade`.`points_earned`,
`handin_grade`.`returned_files`, `handin_grade`.`comments` FROM
`handin_grade` WHERE `handin_grade`.`enrollment_id` = 3
Line Method File
132 _worker build/bdist.linux-i686/egg/flup/server/threadpool.py
669 run build/bdist.linux-i686/egg/flup/server/fcgi_base.py
705 process_input build/bdist.linux-i686/egg/flup/server/
fcgi_base.py
805 _do_params build/bdist.linux-i686/egg/flup/server/fcgi_base.py
789 _start_request build/bdist.linux-i686/egg/flup/server/
fcgi_base.py
574 run build/bdist.linux-i686/egg/flup/server/fcgi_base.py
1159 handler build/bdist.linux-i686/egg/flup/server/fcgi_base.py
241 course_assignments /home2/geekshac/django_projects/classcomm/
handin/views.py
17.95 SELECT
EXPLAIN
Toggle Stacktrace
SELECT `handin_duedateoverride`.`id`,
`handin_duedateoverride`.`enrollment_id`,
`handin_duedateoverride`.`assignment_id`,
`handin_duedateoverride`.`weeks_after`,
`handin_duedateoverride`.`days_after`,
`handin_duedateoverride`.`allow_late` FROM `handin_duedateoverride`
WHERE `handin_duedateoverride`.`enrollment_id` = 3
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.
No comments:
Post a Comment