-
Notifications
You must be signed in to change notification settings - Fork 618
/
Copy pathactions.py
29 lines (25 loc) · 935 Bytes
/
actions.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import csv
from django.http import HttpResponse
def export_csv(modeladmin, request, queryset):
membership_name = {
0: 'Basic', 1: 'Supporting', 2: 'Sponsor',
4: 'Contributing', 5: 'Fellow'
}
response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename=membership.csv'
fieldnames = [
'membership_type', 'creator', 'email_address', 'votes',
'last_vote_affirmation',
]
writer = csv.DictWriter(response, fieldnames=fieldnames)
writer.writeheader()
for obj in queryset:
writer.writerow({
'membership_type': membership_name.get(obj.membership_type),
'creator': obj.creator,
'email_address': obj.email_address,
'votes': obj.votes,
'last_vote_affirmation': obj.last_vote_affirmation,
})
return response
export_csv.short_description = 'Export CSV'