import csv from django.core.management.base import BaseCommand from opentech.apply.funds.models import ApplicationSubmission class Command(BaseCommand): help = "Export submission stats to a csv file." def handle(self, *args, **options): with open('export_submissions.csv', 'w', newline='') as csvfile: writer = csv.writer(csvfile, quoting=csv.QUOTE_ALL) writer.writerow(['Submission title', 'Submission author', 'Submission e-mail', 'Submission value', 'Submission duration', 'Submission stage', 'Submission phase', 'Submission screening', 'Submission date', 'Round/Lab/Fellowship']) for submission in ApplicationSubmission.objects.all(): if submission.round: submission_type = submission.round else: submission_type = submission.page try: value = submission.value except KeyError: value = 0 writer.writerow([submission.title, submission.full_name, submission.email, value, submission.duration, submission.stage, submission.phase, submission.screening_status, submission.submit_time.strftime('%Y-%m-%d'), submission_type])