|
@ -1,12 +1,38 @@ |
|
|
|
|
|
import csv |
|
|
|
|
|
|
|
|
from django.contrib import admin |
|
|
from django.contrib import admin |
|
|
|
|
|
from django.http import HttpResponse |
|
|
|
|
|
|
|
|
from .models import Project, HonoraryCertificate, Library, IFG, Travel,\ |
|
|
from .models import Project, HonoraryCertificate, Library, IFG, Travel,\ |
|
|
Email, BusinessCard, List |
|
|
Email, BusinessCard, List |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def export_as_csv(self, request, queryset): |
|
|
|
|
|
|
|
|
|
|
|
meta = self.model._meta |
|
|
|
|
|
field_names = [field.name for field in meta.fields] |
|
|
|
|
|
|
|
|
|
|
|
response = HttpResponse(content_type='text/csv') |
|
|
|
|
|
response['Content-Disposition'] = 'attachment; filename={}.csv'.format(meta) |
|
|
|
|
|
writer = csv.writer(response) |
|
|
|
|
|
|
|
|
|
|
|
writer.writerow(field_names) |
|
|
|
|
|
for obj in queryset: |
|
|
|
|
|
row = writer.writerow([getattr(obj, field) for field in field_names]) |
|
|
|
|
|
|
|
|
|
|
|
return response |
|
|
|
|
|
|
|
|
|
|
|
export_as_csv.short_description = "Export Selected" |
|
|
|
|
|
|
|
|
|
|
|
admin.site.add_action(export_as_csv) |
|
|
|
|
|
|
|
|
@admin.register(Project) |
|
|
@admin.register(Project) |
|
|
class ProjectAdmin(admin.ModelAdmin): |
|
|
class ProjectAdmin(admin.ModelAdmin): |
|
|
save_as = True |
|
|
save_as = True |
|
|
readonly_fields = ('pid',) |
|
|
readonly_fields = ('pid',) |
|
|
|
|
|
# action = ['export_as_csv'] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin.site.register([ |
|
|
admin.site.register([ |
|
|
HonoraryCertificate, |
|
|
HonoraryCertificate, |
|
|