Add assignment export script
This commit is contained in:
parent
e6f13151ff
commit
a25736ab45
|
|
@ -0,0 +1,24 @@
|
|||
from assignments.models import Assignment
|
||||
from django.db.models import Q, Count
|
||||
|
||||
"""
|
||||
Get all assignments, evaluate all submissions and final (=shared) submissions and sort them by Topic and Module
|
||||
|
||||
todo: make this a Django command
|
||||
"""
|
||||
num_final = Count('submissions', filter=Q(submissions__final=True))
|
||||
num_submissions = Count('submissions')
|
||||
assignments=Assignment.objects.annotate(num_submissions=num_submissions).annotate(num_final=num_final).select_related('module').order_by('module')
|
||||
|
||||
topics = {}
|
||||
for a in assignments:
|
||||
topic = a.module.get_parent()
|
||||
topic_title = topic.title
|
||||
if topic_title not in topics:
|
||||
topics[topic_title] = []
|
||||
topics[topic_title].append(f'{a.module},{a.title},{a.num_final},{a.num_submissions}')
|
||||
|
||||
for t, value in topics.items():
|
||||
for e in value:
|
||||
print(f'{t},{e}')
|
||||
|
||||
Loading…
Reference in New Issue