Skip to content
Snippets Groups Projects
export_submissions_csv.py 1.21 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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])