def csv(self): rows = [] query = ClientQuestion.query() for q in query: coach = q.coach.get() client = q.client.get() addy = client.profile.company.address address = '{} {}, {}, {} {}'.format(addy.street, addy.city, addy.state, addy.postal, addy.country) data = dict( Question=q.question, Category=q.category, ClientName=client.name, ClientEmail=coach.email, ClientCompanyAddress=address, CoachName=coach.name, CoachEmail=coach.email ) rows.append(data) output = StringIO() writer = csv.DictWriter(output, [ 'Question', 'Category', 'ClientName', 'ClientEmail', 'ClientCompanyAddress', 'CoachEmail', 'CoachName' ]) writer.writeheader() writer.writerows(rows) now = datetime.now().strftime(SHORT_DT) self.send_file(output.getvalue(), 'application/csv', 'ResourcePage-{}.csv'.format(now))